2

Apple 尚未批准 Google Voice 作为应用程序,因此 Google 创建了一个网络“应用程序”。所以他们以某种方式通过浏览器访问麦克风。浏览器无法访问麦克风,所以我想知道他们(以及)是如何做到的。

我能想到的只有PhoneGap或Titanium之类的东西。

4

1 回答 1

3

无法从运行在 iOS 上的 Safari 中的 Web 应用程序访问麦克风或摄像头。一旦 W3C 最终确定 HTML5 可能在几年内就有可能实现,但还有很长的路要走。我相信 Google Voice 的服务器实际上会呼叫您的手机,然后音频通过您手机的语音连接运行。

如果您愿意让自己成为一个最小的原生应用程序,那么有一个解决方案可以让您将大多数事情作为一个 Web 应用程序来完成,只将原生代码用于与音频相关的内容:

  1. 将您的应用程序创建为 Web 应用程序。设计和构建一切,让它在 iPad 上的 Safari 中看起来很棒。

  2. 创建一个新的本机应用程序,它将充当您网站的外壳。它可以只是一个非常基本的 Objective-C 应用程序,其中包含一个 Web 视图。

  3. 当您的网络应用需要打开录音界面时,使其请求一个 url(通过 javascript 或通过用户单击链接),如下所示:

    startaudio://whatever-variables-you-need-to-pass

  4. 在您的 Objective-C 代码中实现 UIWebView 委托函数 webView:shouldLoadRequest:。检查 Web 视图尝试加载的每个 URI 并拦截您的自定义“startaudio://”url。此时,您的应用程序将在本机 Objective-C 中调出音频界面,可能在网站视图之上。

  5. 在 Objective-C 中(可能)将录制的音频数据上传到您的服务器,然后用于[webView executeJavascript: ]告诉浏览器音频记录器已被关闭。

希望有帮助!

于 2012-05-13T18:49:36.927 回答