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 播放音频

移动后iOS上的cordova-plugin-media-with-compression似乎无法播放音频文件

在Cordova应用程序中播放音频声音

音频在后台播放但没有声音 Cordova 3+ IOS

Html5 音频无法在 Cordova 应用程序中播放

如何显示来自 Cordova 媒体捕获的图像和播放音频