Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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/9/ios/112.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
Jquery jPlayer未在iOS上启动单击/touchstart_Jquery_Ios_Jplayer_Autoplay - Fatal编程技术网

Jquery jPlayer未在iOS上启动单击/touchstart

Jquery jPlayer未在iOS上启动单击/touchstart,jquery,ios,jplayer,autoplay,Jquery,Ios,Jplayer,Autoplay,嘿,我有一个问题,iOS没有启动我的移动网站上的音频 我知道iOS需要用户“点击”才能启动HTML5-音频和视频,所以我将jPlayer设置为在用户点击“播放”后启动 $(document).ready(function () { var AudioPlayer = null; //null on initial page load (init it on click); function initPlayer() { AudioPlayer = {

嘿,我有一个问题,iOS没有启动我的移动网站上的音频

我知道iOS需要用户“点击”才能启动HTML5-音频和视频,所以我将jPlayer设置为在用户点击“播放”后启动

$(document).ready(function () {

    var AudioPlayer = null; //null on initial page load (init it on click);

    function initPlayer() {
        AudioPlayer = {
            mySlider: $("#slider").slider(),
            currentTime: 0,
            duration: 0,
            my_jPlayer: $('#jquery_jplayer').jPlayer({
                swfPath: "js",
                cssSelectorAncestor: "#jp_container",
                supplied: "mp3",
                wmode: "window",
                ready: function () {
                    console.log('ready');
                    $(this).jPlayer("setMedia", {
                      mp3: audioFile
                    });
                },
                //preload: 'auto'                
              }),
            init: function () {
                // Change the time format
                $.jPlayer.timeFormat.padMin = false;
                $.jPlayer.timeFormat.padSec = true;
                $.jPlayer.timeFormat.sepMin = ":";
                $.jPlayer.timeFormat.sepSec = "";
            },
            bindEvent: function () {

                    var self = this;

                    this.my_jPlayer.bind($.jPlayer.event.timeupdate, function (event) {

                    $.mobile.loading('hide');

                    self.currentTime = $('#jquery_jplayer').data('jPlayer').status.currentTime;
                    self.duration = $('#jquery_jplayer').data('jPlayer').status.duration;

                    if ($.jPlayer.convertTime(self.duration) != '0:00') {
                        $('#currentTimeDiv').html($.jPlayer.convertTime(self.currentTime));
                        $('#durationDiv').html($.jPlayer.convertTime(self.duration));
                        if ($('#slider').attr('max') != parseInt(self.duration)) {
                            $('#slider').attr('max', parseInt(self.duration));
                            //$slide.slider('max', parseInt(duration));
                        }
                        if (self.currentTime > 0) {
                            $("#slider").val(parseInt(self.currentTime));
                            //this.mySlider.slider('refresh');
                        }
                        //$slide.slider("value",$slide.slider("value")).slider('refresh');
                    } else {
                        $('#currentTimeDiv').html('0:00');
                        $('#durationDiv').html('0:00');
                    }
                });

                this.my_jPlayer.bind($.jPlayer.event.play,function (event) {
                    //$.mobile.loading('hide'); //only hide this on time update.
                    console.log('played');
                });

                this.my_jPlayer.bind($.jPlayer.event.stalled,function (event) {
                    $.mobile.loading('show');
                    console.log('stalled');
                });
            },
            startAudioTrack: function () {
                var trackClass = $("#track1").attr('class');
                console.log(trackClass);
                if ((typeof trackClass === "undefined") || (trackClass == 'jp-play')) {
                    this.my_jPlayer.jPlayer("play", parseInt(this.currentTime));
                    this.ready2Pause();
                } else {
                    this.ready2Play();
                    this.my_jPlayer.jPlayer("pause", parseInt(this.currentTime));
                }

                return false;
            },
            ready2Play: function () {
                //$("#track1").text('Play');
                $('#track1').removeClass('jp-pause');
                $('#track1').addClass('jp-play');
            },
            ready2Pause: function () {
                //$("#track1").text('Pause');
                $('#track1').removeClass('jp-play');
                $('#track1').addClass('jp-pause');
            }
        } //audioPlayer

        //start the audio player
        AudioPlayer.init();
        AudioPlayer.bindEvent();
        setTimeout(function() { AudioPlayer.my_jPlayer.jPlayer("play"); }, 5000);
        AudioPlayer.ready2Pause();

    } //initPlayer;

    $(document).on("click touchstart", "#play-overlay a.bt", function () {
        initPlayer();  //create the player (and play)
        togglePlayOverlay(0); //hide the play button overlay
    });
}))

该代码具有startAudioTrack功能。由于某些原因,当播放器已经初始化(在第一次单击后),我可以单击第二个触发器,然后开始播放。此代码适用于普通的web浏览器,但不适用于safari mobile


音频文件是在ajax调用后设置的变量。

注意:上面的代码还包含startAudoTrack函数。由于某些原因,当播放器已经初始化(在第一次单击之后),我可以单击第二个触发器,然后开始播放。这在普通的web浏览器中工作,而不是在safari mobile上。上面看到的音频文件是在Ajax调用后设置的一个变量,我忽略了声明以及设置位置。。。。我只是想提一下。