Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android html5音频元素使用jquery返回src_Android_Html_Cordova - Fatal编程技术网

Android html5音频元素使用jquery返回src

Android html5音频元素使用jquery返回src,android,html,cordova,Android,Html,Cordova,我正在将一些HTML5转换为Android。Android不支持该元素,因此play方法不起作用 我正在使用PhoneGap的媒体元素,它可以播放音频。我想要的是找到音频标签的第一个来源,然后将其用于媒体播放,但这似乎不起作用 function playSound(whatToPlay) { // removed since <audio does not work // var snd = document.getElementById(whatToPlay);

我正在将一些HTML5转换为Android。Android不支持该元素,因此play方法不起作用

我正在使用PhoneGap的媒体元素,它可以播放音频。我想要的是找到音频标签的第一个来源,然后将其用于媒体播放,但这似乎不起作用

function playSound(whatToPlay) {
    // removed since <audio does not work
    // var snd = document.getElementById(whatToPlay);
    // snd.play();

    toPlaySrc = $("#"+whatToPlay+":first-child").eq(0).attr("src");
    // next I will have to deal with /android_asset and my current partial path
    myMedia = new Media("/android_asset/"+toPlaySrc, onSuccess,onError);
    if (myMedia)
        myMedia.play();        
}
playSound("clockticking");
功能播放声音(whatToPlay){

//从开始删除好的,我正在为Android WebView编写一些monkey补丁代码,您可以在我的上看到进展。同时,您要做的是在deviceready侦听器上设置一个:

document.addEventListener("deviceready", monkeypunch, true);
创建阵列以容纳媒体对象:

mediaObjs = [];
在monkeypunch方法中,您将执行以下操作:

function monkeypunch() {
    var audioclips = document.getElementsByTagName("audio");
    for (var i=0; i < audioclips.length; i++) {
        // Create new Media object.
        var audioSrc = audioclips[i].firstElementChild.src;
        if (audioSrc.indexOf("file:///android_asset") == 0) {
            audioSrc = audioSrc.substring(7);
        }
        mediaObjs[audioSrc] = new Media(audioSrc);
        // Create the HTML
        var newAudio = document.createElement('div');
        var newImg = document.createElement('img');
        newImg.setAttribute('src', 'images/play.png');
        newAudio.appendChild(newImg);
        // Set the onclick listener
        newAudio.addEventListener("click", function() {
            // figure out what image is displayed
            if (newImg.src.indexOf("images/play.png", newImg.src.length - "images/play.png".length) !== -1) {
                newImg.src = "images/pause.png"; 
                mediaObjs[audioSrc].play();               
            } else {
                newImg.src = "images/play.png";
                mediaObjs[audioSrc].pause();                
            }
        });
        // replace the audio tag with out div
        audioclips[i].parentNode.replaceChild(newAudio, audioclips[i]);
    }
}
函数monkeypunch(){
var audioclips=document.getElementsByTagName(“音频”);
对于(var i=0;i

您可以从我的github项目中获取播放/暂停图像。我计划在有更多时间时添加更多功能。

好的,我正在为Android WebView编写一些monkey补丁代码,您可以在我的上看到进度。同时,您要做的是在deviceready侦听器上设置一个:

document.addEventListener("deviceready", monkeypunch, true);
创建阵列以容纳媒体对象:

mediaObjs = [];
在monkeypunch方法中,您将执行以下操作:

function monkeypunch() {
    var audioclips = document.getElementsByTagName("audio");
    for (var i=0; i < audioclips.length; i++) {
        // Create new Media object.
        var audioSrc = audioclips[i].firstElementChild.src;
        if (audioSrc.indexOf("file:///android_asset") == 0) {
            audioSrc = audioSrc.substring(7);
        }
        mediaObjs[audioSrc] = new Media(audioSrc);
        // Create the HTML
        var newAudio = document.createElement('div');
        var newImg = document.createElement('img');
        newImg.setAttribute('src', 'images/play.png');
        newAudio.appendChild(newImg);
        // Set the onclick listener
        newAudio.addEventListener("click", function() {
            // figure out what image is displayed
            if (newImg.src.indexOf("images/play.png", newImg.src.length - "images/play.png".length) !== -1) {
                newImg.src = "images/pause.png"; 
                mediaObjs[audioSrc].play();               
            } else {
                newImg.src = "images/play.png";
                mediaObjs[audioSrc].pause();                
            }
        });
        // replace the audio tag with out div
        audioclips[i].parentNode.replaceChild(newAudio, audioclips[i]);
    }
}
函数monkeypunch(){
var audioclips=document.getElementsByTagName(“音频”);
对于(var i=0;i

您可以从我的github项目中获取播放/暂停图像。我计划在有更多时间时添加更多功能。

我正在制作一个小库,您可以将其添加到Cordova/PhoneGap Android中,以解决类似这样的问题。我会随时通知您。谢谢!我肯定我不是唯一一个有此问题的人。我正在制作一个小库您可以将其添加到Cordova/PhoneGap Android中,以解决类似的问题。我会随时通知您。谢谢!我肯定我不是唯一一个出现此问题的人。