ipad - 如何(能够)像 Google Voice 那样访问 iOS 上的麦克风?

标签 ipad google-voice

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

我唯一能想到的就是 PhoneGap 或 Titanium 之类的东西。

最佳答案

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

如果您愿意让自己成为一个最小的 native 应用程序,有一个解决方案可以让您作为网络​​应用程序完成大部分工作,仅使用 native 代码处理与音频相关的内容:

  1. 将您的应用创建为网络应用。设计和构建一切,使其在 iPad 上的 Safari 浏览器中看起来很棒。

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

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

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

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

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

希望有帮助!

关于ipad - 如何(能够)像 Google Voice 那样访问 iOS 上的麦克风?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7602337/

相关文章:

jquery - 带有 ipad 和固定元素的scrollTo()

python - pygooglevoice 登录问题

javascript - 如何使用xpath从用 Angular 编写的网页中提取文本?

iphone - 如何隐藏 mkmapview monotouch iPhone 的合法链接

objective-c - PhoneGap 应用程序的 iPad 测试 - 主要方法中的问题

javascript - 在平板电脑上运行时将点击事件变成触摸事件

ios - UINavigationController 在单击后退按钮时向下滚动

java - 使用 Coldfusion 以编程方式访问 Google Voice Java API

android - 标准调用屏幕上的 Activity 窗口 - 启用按钮