This action will force synchronization from OpenHarmony/docs, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
音视频播放是将音视频文件或音视频流数据进行解码并通过输出设备进行播放的过程,同时对播放任务进行管理。
音视频播放API接口功能如下,具体的API详见接口文档。
表 1 音视频播放API接口
输入源为音视频流时,不支持播放进度控制和获取文件时长。
实现PlayerCallback回调,通过SetPlayerCallback函数进行绑定,用于事件处理。
class TestPlayerCallback : public PlayerCallback{
void OnPlaybackComplete() override
{
//此处实现代码用于处理文件播放完成的事件
}
void OnError(int32_t errorType, int32_t errorCode) override
{
//此处实现代码处理错误事件
}
void OnInfo(int type, int extra) override
{
//此处实现代码处理普通事件
}
void OnRewindToComplete() override
{
//此处实现代码处理进度控制完成的事件
}
};
创建Player实例,设置播放源并开始播放。
Player *player = new Player();
std::shared_ptr<PlayerCallback> callback = std::make_shared<TestPlayerCallback>();
player->SetPlayerCallback(callback);//设置player回调
std::string uri(filePath);//此处filePath为本地文件路径
Source source(uri);//保存uri到source实例
player->SetSource(source);//将source设置到player
player->SetVideoSurface(surface);//设置播放窗口
player->Prepare();//准备播放
player->Play();//开始播放
根据场景需要进行播放控制。
player->SetVolume(lvolume, rvolume);//设置左右声道声音
player->EnableSingleLooping(true);//设置循环播放
player->Pause();//暂停
player->Play();//继续播放
播放任务结束后,进行资源释放。
player->Stop(); //停止播放
player->Release();//释放资源
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。