打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

舰R百科是靠无数志愿编辑者持续地建设更新完善的。编辑非常简单,无需代码知识,请勇于更新页面!
编辑入门 | 资助百科 | 留言讨论页 | 微博@舰R百科 | 百科编辑讨论Q群:366818861

MediaWiki:Vector.js:修订间差异

MediaWiki界面页面
Donnyjie留言 | 贡献
无编辑摘要
Donnyjie留言 | 贡献
无编辑摘要
 
(未显示同一用户的2个中间版本)
第4行: 第4行:
/* 显示存在的配音文件的播放按钮 new */
/* 显示存在的配音文件的播放按钮 new */
$(function () {
$(function () {
     $('.audio-player-container').each(function () {
     $('.audio-native-trigger').each(function () {
         var $container = $(this);
         var $container = $(this);
         var audioUrl = $container.data('src');
         var url = $container.data('src');


         if (!audioUrl) return;
         if (!url) return;


         var tester = new Audio();
         var tester = new Audio();
         tester.src = audioUrl;
         tester.src = url;
        tester.preload = "metadata";  


         tester.onloadedmetadata = function () {
         tester.onloadedmetadata = function () {
             var $link = $('<a></a>')
             tester = null;
                .attr('href', audioUrl)
                .attr('style', "font-size:1.75em;")
                .addClass('sm2_link')
                .text('🔊');


             $container.append($link).show();
            var $btn = $('<span class="audio-play-icon" style="cursor:pointer; user-select:none; font-size:1.75em; vertical-align:middle;">🔊</span>');
             if (window.soundManager && typeof window.soundManager.init === 'function') {
             $container.empty().append($btn).show();
soundManager.reboot();
 
            }
             $btn.on('click', function () {
             tester = null;
                var currentAudio = $container.data('audio-instance');
 
                if (currentAudio) {
                    currentAudio.pause();
                    currentAudio.onended = null;
                }
 
                var audio = new Audio(url);
                audio.preload = "auto";
                audio.loop = false;
 
                $container.data('audio-instance', audio);
 
                var playPromise = audio.play();
 
                audio.onended = function () {
                    $container.data('audio-instance', null);
                };
 
                audio.onerror = function() {
                    $container.data('audio-instance', null);
                };
             });
         };
         };


         tester.onerror = function () {
         tester.onerror = function () {
             $container.remove();  
             $container.remove();
             tester = null;
             tester = null;
         };
         };