我正在使用Swift开发一个视频流应用程序,它利用HLS(HTTP Live Streaming)提供多种视频质量。我使用AVPlayer框架来播放视频。主m3u8文件指定不同的视频质量沿着音频选项。然而,我在配置AVPlayer以播放每种视频质量的适当音频流时遇到了挑战。
以下是我的m3u8主文件的摘录:
#EXTM3U
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio/audio.m3u8",GROUP-ID="audio",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=745697,AVERAGE-BANDWIDTH=508245,CODECS="avc1.4d401e,mp4a.40.2",RESOLUTION=854x480,FRAME-RATE=25.000,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE
480p/22534041-c4c5-4b5b-be4e-e7035e4ffdb6.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=961804,AVERAGE-BANDWIDTH=663000,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE
720p/04b4f73f-3f43-4c88-895f-931c22564e3d.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=534811,AVERAGE-BANDWIDTH=389186,CODECS="avc1.4d401e,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=25.000,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE
360p/df767a2b-833a-4772-94cd-099e8ccf48e4.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2914202,AVERAGE-BANDWIDTH=2041333,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=25.000,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE
1080p/f0c10df4-df65-4800-9e45-ff684357d4d7.m3u8
我需要有关如何在Swift中配置AVPlayer的指导,以确保适当的音频流与选定的视频质量沿着播放。我应该通过监控用户质量选择然后更新AVPlayer的音轨来以编程方式处理此问题,还是有更自动化的方法来实现视频质量和音频选择之间的集成?
1条答案
按热度按时间mfuanj7w1#
注意:请将VideoQuality枚举案例和URL替换为您的实际URL和质量定义。