我的cordova应用程序从网上下载音频文件。这样可以正常工作并且轨道保存在
中"cdvfile://localhost/persistent/JukeboxDownloads/Test.mp3"
我在下载程序的成功调用中获取了该文件的URL:
entry.toURL();
然后我尝试使用音频标签(iOS)播放下载的文件,如下所示:
<audio src="file:///Users/Marc/Library/Developer/CoreSimulator/Devices/59AA8A4B-5CE5-42E2-8CF8-7DA0DEB07E99/data/Containers/Data/Application/7406C75B-4509-44C5-A6C7-F71C2D6D27AF/Documents/JukeboxDownloads/Test.mp3" id="audioPlayer" controls>
我还尝试使用jQuery手动设置src:
$("#audioPlayer").attr("src","file:///Users/Marc/Library/Developer/CoreSimulator/Devices/59AA8A4B-5CE5-42E2-8CF8-7DA0DEB07E99/data/Containers/Data/Application/7406C75B-4509-44C5-A6C7-F71C2D6D27AF/Documents/JukeboxDownloads/Test.mp3");
然而,两者都不适合我,我无法播放音频,它总是说“错误”而无需进一步解释。当我使用另一个源文件时,它完美地工作(这意味着我的www文件夹或网络上的文件)。
为什么cordova不播放文件的任何想法?
感谢您的帮助!
更多信息:Cordova 5.0; xCode 6.3.1; iOS 8.3
答案 0 :(得分:1)
尝试通过创建src来引用该文件,如下所示:
var src = cordova.file.documentsDirectory + 'JukeboxDownloads/Test.mp3';
我发现在构建应用程序并重新构建应用程序的引用GUID时会导致URL无效。
根据我的经验,使用cdvfile://localhost/persistent/
适用于图像但不适用于视频或音频文件。