5

我正在开发一个涉及让用户录制音频的应用程序。我正在使用以下意图来调用录音机。

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent, AUDIO_REQ);

虽然这在模拟器和几乎所有经过测试的设备上都可以正常工作,但当我尝试在三星 Charge 上运行它时,录音机永远不会让我选择保存录音并返回我的活动。录制完成后,我会被发送到设备上所有录制音频的列表,然后从该列表中选择任何一个即可播放它们。我可以使用后退按钮返回调用 Activity,但这会导致RESULT_CANCLED结果代码,没有创建文件path,并且dataonActivityResult 的参数为空。(如果我从意图中删除额外的数据,数据仍然为空EXTRA_OUTPUT,在这种情况下没有任何变化)

有谁知道使此设备上的录音机正常运行的方法?或者任何人至少可以确认这只是三星充电问题,而不是我在许多设备上必须担心的问题?

4

1 回答 1

3

我在三星 Galaxy S SCL 上遇到了同样的问题。所以这个问题可能发生在许多设备中。也许最好的解决方案是实现自己的记录器,而不是使用内置的 Intent ......但不像上面建议的那样(我认为最好为应用程序提供统一的界面,而不是为每个设备使用不同的界面. 所以如果你必须编写自己的录制 GUI,为什么不将它用于所有设备?)。

所以无论如何,如果你找到了从记录器返回并获取数据的方法,如果你把它发布在这里会很好。谢谢

于 2012-09-28T11:52:27.827 回答