HTML5音频没有方法播放

use*_*206 2 javascript audio jquery html5 media-player

我的标记

而这个JQuery代码

每次按下播放时都会继续给我错误

<div class = "container">
    <legend><strong>Zedd - Spectrum</legend></h4>
    <div class = "art-item"><img src="uploads/arts/default.jpg"></div>
        <audio class = "audio-player" src = "uploads/tracks/02 So Far.mp3">
        </audio>

            <div class = "playerContainer">

                <ul id =  "playerControls" >
                    <li class = "play-bt"></li>
                    <li class = "pause-bt"></li>
                    <li><div class ="progressContainer"><!-- Progess bars container //-->
                        <div class ="progressbar"></div>
                    </div>
                    </li>

                </ul>
                <span class ="timecode">0:00</span>
            </div>
</div>


<div class = "container">
    <legend><strong>Zedd - Spectrum</legend></h4>
    <div class = "art-item"><img src="uploads/arts/default.jpg"></div>
        <audio class = "audio-player" src = "uploads/tracks/track3.mp3">
        </audio>

            <div class = "playerContainer">

                <ul id =  "playerControls" >
                    <li class = "play-bt"></li>
                    <li class = "pause-bt"></li>
                    <li><div class ="progressContainer"><!-- Progess bars container //-->
                        <div class ="progressbar"></div>
                    </div>
                    </li>

                </ul>
                <span class ="timecode">0:00</span>
            </div>
</div>
Run Code Online (Sandbox Code Playgroud)

每次我点击play-bt它都会一直给我这个错误

Uncaught TypeError: Object #<Object> has no method 'play' 
Run Code Online (Sandbox Code Playgroud)

不是音频标签有播放方法吗?

Mat*_*all 6

jQuery .find()返回一个jQuery对象,而不是本机HTMLAudioElement,所以你需要打开返回的值.find():

$artItem.find('audio')[0].play();
// or
$artItem.find('audio').get(0).play();
Run Code Online (Sandbox Code Playgroud)

  • 冒犯===真相.真的,如果你想学习ping我,我会给你很多免费资源.我有时候可能会很苛刻,但只是指出试图使用工具包来解决你不了解不可知论的语言的谬论. (2认同)