【发布时间】:2017-08-09 18:11:20
【问题描述】:
我正在尝试在 Cordova 6.5.0 上使用 cordova-plugin-media 录制音频。当我运行该方法时,它返回“OK”并调用成功回调函数,但是当此函数尝试获取文件时,该文件不存在。
如果我只指定文件名,则该文件位于 /storage/emulated/0/filename.mp3 但应用程序无法访问此路径。因此,当我指定使用 cordova.file.cacheDirectory 作为参考保存时,它会在后台触发错误,但在 javascript 界面中,它仍然调用成功回调函数。
看了一下logcat,发现是这样的:
E 音频播放器: 将 /storage/emulated/0/tmprecording-1489806941198.3gp 重命名为 /data/user/0/com.app/cache/recordedData-23-58cca65df12bf.mp3
失败我一直在互联网上搜索,发现与 Cordova 3.5.0 相关的类似错误是一个 BUG,但我使用的是 Cordova 6.5.0,这个 BUG 是否还会发生?
此外,我已经检查了应用程序的权限,并且所有需要的权限都已被授予。例如:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我尝试使用 cordova.file.dataDirectory 代替 cordova.file.cacheDirectory,但仍然没有成功。
下面是一段代码:
audioCtx = new Media(
cordova.file.cacheDirectory + currentMediaFile,
uploadMediaCapture
);
//console.log("Recording audio.");
audioCtx.startRecord();
有人知道如何解决这个问题吗?
【问题讨论】:
标签: javascript android html cordova media