Cordova 播放本地音频文件
Posted
技术标签:
【中文标题】Cordova 播放本地音频文件【英文标题】:Cordova play local audio file 【发布时间】:2015-04-28 20:07:26 【问题描述】:我的 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】:尝试通过像这样创建 src 来引用文件:
var src = cordova.file.documentsDirectory + 'JukeboxDownloads/Test.mp3';
我发现在构建应用程序并重建应用程序引用的 GUID 时,会导致 URL 无效。
根据我的经验,使用cdvfile://localhost/persistent/
适用于图像,但不适用于视频或音频文件。
【讨论】:
以上是关于Cordova 播放本地音频文件的主要内容,如果未能解决你的问题,请参考以下文章
通过 phonegap 和 cordova for Android 播放音频