Cordova播放本地音频文件

时间:2015-04-28 20:07:26

标签: html ios cordova audio

我的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

1 个答案:

答案 0 :(得分:1)

尝试通过创建src来引用该文件,如下所示:

var src = cordova.file.documentsDirectory + 'JukeboxDownloads/Test.mp3';

我发现在构建应用程序并重新构建应用程序的引用GUID时会导致URL无效。

根据我的经验,使用cdvfile://localhost/persistent/适用于图像但不适用于视频或音频文件。