소스 검색

Fixed the issue of not being able to Airplay in some scenarios.

iAladdin 5 년 전
부모
커밋
93890fb94e
5개의 변경된 파일11개의 추가작업 그리고 2개의 파일을 삭제
  1. 0 0
      dist/DPlayer.min.js
  2. 0 0
      dist/DPlayer.min.js.map
  3. 1 1
      src/js/template.js
  4. 2 0
      src/js/utils.js
  5. 8 1
      src/template/video.art

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/DPlayer.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/DPlayer.min.js.map


+ 1 - 1
src/js/template.js

@@ -22,7 +22,7 @@ class Template {
                 current: true,
                 pic: this.options.video.pic,
                 screenshot: this.options.screenshot,
-                airplay: this.options.airplay,
+                airplay: utils.isSafari ? this.options.airplay : false,
                 preload: this.options.preload,
                 url: this.options.video.url,
                 subtitle: this.options.subtitle,

+ 2 - 0
src/js/utils.js

@@ -93,6 +93,8 @@ const utils = {
 
     isChrome: /chrome/i.test(window.navigator.userAgent),
 
+    isSafari: /safari/i.test(window.navigator.userAgent),
+
     storage: {
         set: (key, value) => {
             localStorage.setItem(key, value);

+ 8 - 1
src/template/video.art

@@ -7,8 +7,15 @@
     {{ if pic }}poster="{{ pic }}"{{ /if }}
     {{ if screenshot || enableSubtitle }}crossorigin="anonymous"{{ /if }}
     {{ if preload }}preload="{{ preload }}"{{ /if }}
-    {{ if url }}src="{{ url }}"{{ /if }}
+    {{ if airplay }}
+    nosrc
+    {{ else if url }}
+    src="{{ url }}"
+    {{ /if }}
     >
+    {{ if airplay }}
+    <source src="{{ url }}">
+    {{ /if}}
     {{ if enableSubtitle }}
     <track kind="metadata" default src="{{ subtitle.url }}"></track>
     {{ /if }}

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.