播放本地文件cordova / phonegap build

时间:2018-02-08 14:18:36

标签: javascript android ios cordova phonegap

我是新手应用程序开发人员,目前我已经失去理智,到处寻找一个合适的解决方案(也是堆栈溢出),但我还没有找到工作一个人已经差不多2个星期的不断寻找和尝试并重新回到绘图板上,因为似乎没有按计划进行。

对于客户端,我们正在开发一个应用程序,该应用程序应该能够流式播放mp3文件,但也可以下载它以便脱机使用。到目前为止,我已经能够(在堆栈溢出的帮助下)创建一个应用程序,但它拒绝播放下载的文件。

我使用filetransfer插件将文件下载到 cordova.file.dataDirectory 到名为音乐的子目录。

这就是麻烦开始的地方。

使用以下代码流式传输文件:

function externSpelen(){
    var externeBron = globals.muziekServer + globals.activeTrack;
    console.log (externeBron);
    $("#audioPlayer").attr("src",externeBron);
}

这首歌开始播放没问题。但是,当我尝试从本地源播放文件时,它甚至不会做任何错误。

function lokaalSpelen(){
    var lokaleBron = cordova.file.dataDirectory + 'muziek/' + globals.activeTrack;

    console.log (lokaleBron);
    $("#audioPlayer").attr("src",lokaleBron);
}

我100%确定文件存在于给定位置,因为我已经检查过(手动)。我也会在曲目开始播放之前检查一下。使用此功能。

function mp3Spelen (bestandsNaam){
    store = cordova.file.dataDirectory + 'muziek/';
    fileName = 'ap-' + bestandsNaam +'.mp3';
    globals.activeTrack = fileName
    window.resolveLocalFileSystemURL(store + fileName, lokaalSpelen, externSpelen);
}

单击按钮

后完成功能触发
<button onclick="mp3Spelen('veiligeplek')">Speel veiligeplek</button></br>

(所以点击按钮后,文件 ap-veiligeplek.mp3 应该开始播放。本地或远程)

我试图用图像做同样的事情(下载并查看它们),出于某种原因,它们似乎工作得很好。

此时我几乎放弃了,因为我尝试了几种解决方案。 喜欢使用cordova媒体插件,但结果相同。

我使用PhoneGap Build来构建应用程序,并且我已经包含了所需的所有插件。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

以某种方式清除我的js文件后,上面的代码开始工作。为方便起见,我会留在这里。