小编Sea*_*rse的帖子

尽管在 Safari 桌面中 overrideNative,VideoJS 没有质量级别/无法选择质量

我正在构建一个播放 HLS 视频的 NextJS 网站。


太长了;如何覆盖 Safari 的原生 HLS 引擎?需要哪些玩家选项?我的(下)不起作用!


要在质量之间切换,我使用:https ://github.com/videojs/videojs-contrib-quality-levels

在其他浏览器(非 Safari)中,质量选择器工作正常,因为它player.qualityLevels()包含所需的质量。

但是,在 Safari(桌面版)中,数组 ( qualityLevels()) 为空,因此我无法在质量之间切换。

playerOption我这里有这个:

const videoJsOptions = {
    autoplay: false,
    preload: "auto",
    controls: true,
    poster: thumbnailURL,
    sources: [
        {
            src: liveURL,
            type: "application/x-mpegURL",
            withCredentials: false,
        },
    ],
    html5: {
        nativeAudioTracks: false,
        nativeVideoTracks: false,
        hls: {
            overrideNative: true,
        },
    },
};
Run Code Online (Sandbox Code Playgroud)

这对于这个人的项目来说效果很好(虽然没有反应):https ://jsfiddle.net/geukvmhn/

在 Safari 中查看;显示出品质,但对我来说根本不起作用。基本上,我正在努力覆盖 Safari(桌面)中的本机 HLS 引擎。

safari http-live-streaming video.js reactjs next.js

7
推荐指数
1
解决办法
5199
查看次数

如何在 iOS 13 中流式传输远程音频?(SwiftUI)

此代码AVPlayer仅适用于Playground

import AVFoundation

    var player = AVPlayer()
let playerItem = AVPlayerItem(url: URL(string: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3")!)
      player = AVPlayer(playerItem: playerItem)
      player.play()

Run Code Online (Sandbox Code Playgroud)

当我尝试在物理设备上的 SwiftUI 应用程序上运行它时,使用以下代码:

 Button(action:{

              var player = AVPlayer()
            let playerItem = AVPlayerItem(url: URL(string: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3")!)
                  player = AVPlayer(playerItem: playerItem)
                  player.play()

            print("Works")

               },label:{

                   Image("play")
          })
Run Code Online (Sandbox Code Playgroud)

它将Works打印到控制台。但是,它不会在设备上播放任何声音。

希望得到任何帮助,在这里找不到任何东西。

非常感谢!

avplayer swift swift5 ios13 swiftui

2
推荐指数
1
解决办法
1260
查看次数