Cordova不在Windows Phone上播放本地mp3文件

时间:2015-06-06 07:52:06

标签: cordova windows-phone-8.1

我试图播放存储在子文件夹中的mp3文件。

function audioHandlers() {
    var button = document.querySelector("button");
    button.addEventListener("click", function(e) {
        playAudio("media/intro.mp3");
    });
}



function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function () {
            alert("playAudio():Audio Success");
        },
        // error callback
        function (err) {
            var error = document.getElementById("error");
            var msg: string = JSON.stringify(err);
            error.textContent = msg;
        }
        );
    // Play audio
    my_media.play();
}

我得到file not found。对于Windows Phone,网址的外观如何?

2 个答案:

答案 0 :(得分:0)

要访问您当地的cordova文件,您必须在$('<style id="temp">#slides.animate{transform:translate3d(' + pixelOffset + 'px,0,0)}</style>').appendTo('head'); $('#slides').addClass('animate').css('transform', ''); 上使用ms-appx:///作为源路径的前缀。你应该尝试类似的东西:

windows phone 8.1

答案 1 :(得分:0)

本地资产的路径因android和Windows Phone 8.1而异。尝试使用window.local.href:

function audioHandlers() {
    var path = window.location.href;
    path = path.substr(path, path.length - 10);
    var button = document.querySelector("button");
    button.addEventListener("click", function(e) {
        playAudio(path + "media/intro.mp3";);
    });
}

这应该为每个平台生成不同的路径。