HarmonyOS avPlayer设置m3u8的url播放,报错Service Died: mediaserver is died, please create a new playback instance again

HarmonyOS
2025-01-10 09:19:55
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

avPlayer目前不支持m3u8的视频格式播放。由m3u8格式本身是一个视频列别文件,对于非直播的视频源,可以下载并解析此文件夹来获得其中的视频地址并使用mediaPlater控件进行播放,可以使用media.createMediaSourceWithUrl创建流媒体预下载媒体来源实例方法。

import { media } from '@kit.MediaKit';
let headers: Record<string, string> = {"User-Agent" : "User-Agent-Value"};
let mediaSource : media.MediaSource = media.createMediaSourceWithUrl("http://xxx",  headers);

代码实例:

import { media } from '@kit.MediaKit';
import { common } from '@kit.AbilityKit';
import { resourceManager } from '@kit.LocalizationKit';

let context = getContext(this) as common.UIAbilityContext;
let mgr = context.resourceManager;
let fileDescriptor = await mgr.getRawFd("xxx.m3u8");

let fd:string = fileDescriptor.fd.toString();
let offset:string = fileDescriptor.offset.toString();
let length:string = fileDescriptor.length.toString();
let fdUrl:string = "fd://" + fd + "?offset=" + offset + "&size=" + length;

let headers: Record<string, string> = {"User-Agent" : "User-Agent-Value"};
let mediaSource : media.MediaSource = media.createMediaSourceWithUrl(fdUrl,  headers);

let mimeType : media.AVMimeTypes = media.AVMimeTypes.APPLICATION_M3U8;
mediaSource.setMimeType(mimeType);

指南链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-media-V5#mediacreatemediasourcewithurl12

分享
微博
QQ
微信
回复
2025-01-10 10:31:56
相关问题
HarmonyOS Video无法播放m3u8
836浏览 • 1回复 待解决
HarmonyOS cpp进行m3u8视频流解密demo
485浏览 • 1回复 待解决
如何解析m3u8EXT-X-KEY字段
2743浏览 • 1回复 待解决
HarmonyOS AVPlayer设置surfaceId报错
293浏览 • 1回复 待解决
HarmonyOS avplayer播放fd路径文件报错
565浏览 • 1回复 待解决
HarmonyOS AVPlayer播放器UI设置
399浏览 • 1回复 待解决
HarmonyOS AVPlayer 播放问题
1231浏览 • 1回复 待解决
HarmonyOS AvPlayer视频播放速度问题
945浏览 • 1回复 待解决
AVPlayer实现视频播放
1549浏览 • 1回复 待解决