0

我有一个在 VueJS 中使用 Quasar 框架制作的应用程序,该应用程序具有打开 Azure 媒体播放器视频的标签。它在浏览器中完美运行,但是在使用 cordova for android 编译时,它不会在 apk 中播放视频,显然它不会加载 JavaScript:

<link href="//amp.azure.net/libs/amp/2.3.0/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
    <script src="//amp.azure.net/libs/amp/2.3.0/azuremediaplayer.min.js" onload="alert('Cargo el amp')"></script> 

这是我用来加载视频的方法:

loadVideo () {
      alert('Entro al load video')
      alert('Variable window  ' + JSON.stringify(window.amp))
      const myPlayer = window.amp(this.idVideo, { /* Options */
        techOrder: ['azureHtml5JS', 'flashSS', 'html5FairPlayHLS', 'silverlightSS', 'html5'],
        'nativeControlsForTouch': false,
        autoplay: true,
        controls: true,
        // width: '328',
        // height: '202',
        poster: '',
        fluid: true
      }, function () {
        console.log('Good to go!')
        // add an event listener
        alert("Good to go!'")
        this.addEventListener('ended', function () {
          console.log('Finished!')
          alert('Finished')
        })
        this.addEventListener('error', function () {
          var errorDetails = myPlayer.error()
          var code = errorDetails.code
          var message = errorDetails.message
          alert('Hay error ' + code + message)
        })
      }
      )
      myPlayer.src([{
        src: this.srcVideoDialog,
        type: 'application/vnd.ms-sstr+xml'
      }])
    }        

如您所见,我发出警报以了解它在什么时候进入但没有加载功能 window.amp 我希望有人找到了解决方案!

问候

4

2 回答 2

0

跟进我的问题。我使用 azure media player 的内容创建了一个 js 和 css 文件,并更改了索引中的链接:

<link href="statics/amp.css" rel="stylesheet">
<script src="statics/amp.js"></script>

这样我就可以毫无问题地加载我的javascript,所以问题似乎在于对源代码的访问://amp.azure.net/libs/amp/2.3.0/azuremediaplayer.min.js

我必须分析,因为科尔多瓦白名单插件似乎有问题

于 2020-03-20T14:53:52.307 回答
0

在我看来,这个问题是由于 window.amp 在浏览器上可用但在 Android 上不可用而引起的。

来自 TypeScript 的文档

有时你会遇到比 TypeScript 更了解值的情况。通常,当您知道某个实体的类型可能比其当前类型更具体时,就会发生这种情况。

类型断言是告诉编译器“相信我,我知道我在做什么”的一种方式。类型断言类似于其他语言中的类型转换,但不执行数据的特殊检查或重组。它没有运行时影响,并且纯粹由编译器使用。TypeScript 假定您,程序员,已经执行了您需要的任何特殊检查。

改写window.amp(<any>window).amp

于 2020-03-20T07:25:20.230 回答