我正在开发一个涉及让用户录制音频的应用程序。我正在使用以下意图来调用录音机。
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);
Run Code Online (Sandbox Code Playgroud)
虽然这在模拟器和几乎所有经过测试的设备上都可以正常工作,但当我尝试在 Samsung Charge 上运行它时,录音机从来没有给我保存录音并返回到我的活动的选项。录制完成后,我会被发送到设备上所有录制音频的列表,然后从该列表中选择任何音频即可播放它们。我可以使用后退按钮返回调用 Activity,但这会导致RESULT_CANCLED结果代码,没有创建文件path,并且dataonActivityResult的参数为空。(如果我EXTRA_OUTPUT从意图中删除额外的数据,数据仍然为空,在这种情况下没有任何变化)
有谁知道如何使此设备上的录音机正确运行?或者至少有人可以确认这仅仅是三星充电问题,而不是我在许多设备上都需要担心的问题?
我在 Samsung Galaxy S SCL 上也遇到同样的问题。所以这个问题可能发生在很多设备上。也许最好的解决方案是实现自己的记录器,而不是使用内置的 Intent...但不是像上面建议的那样(我认为最好为应用程序提供一个统一的界面,而不是为每个设备使用不同的界面.因此,如果您必须编写自己的录制 GUI,为什么不将其用于所有设备呢?)。
所以无论如何,如果您找到了从记录器返回并获取数据的方法,那么将其发布在这里就好了。谢谢
| 归档时间: |
|
| 查看次数: |
1505 次 |
| 最近记录: |