# MediaPlayer-Extended **Repository Path**: chinasoft5_ohos/MediaPlayer-Extended ## Basic Information - **Project Name**: MediaPlayer-Extended - **Description**: 1.支持对帧的精确查找 2.支持回放速度调整 3.支持所有ohos网络协议和媒体格式 4.支持本地文件和网络源 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-21 - **Last Updated**: 2023-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README MediaPlayer-Extended ==================== ### 项目介绍 + 项目名称:MediaPlayer-Extended + 所属系列:openharmony的第三方组件适配移植 + 功能:本地与网络视频、音频播放。 + 项目移植状态:主功能完成 + 调用差异:未实现功能(1.Dash流播放 , 2.设置SeekMode) + 开发版本:sdk7,DevEco Studio3.0 Beta1 + 基线版本: Release v4.4.1 ### 效果演示 ![](./screen/demo.gif) ### 安装教程 **1)** 在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` **2)** 在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:mediaplayer:1.0.0') ...... } ``` 在sdk7,DevEco Studio3.0 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ### 使用说明 xml中引入VideoView与SimplePlayerController ```xml ``` 设置VideoView ```java mVideoView = (VideoView) findComponentById(ResourceTable.Id_play_surface); mMediaController = (SimplePlayerController) findComponentById(ResourceTable.Id_controller); mMediaController.setMediaPlayer(mVideoView); try { Source source; if (mVideoUri.getScheme().equals("dataability")) { DataAbilityHelper helper = DataAbilityHelper.creator(getContext()); FileDescriptor fd = helper.openFile(mVideoUri, "r"); source = new Source(fd); } else { source = new Source(mVideoUri.toString()); } mVideoView.setVideoSource(source); mVideoView.seekTo(mVideoPosition); mVideoView.setPlaybackSpeed(mVideoPlaybackSpeed); if (mVideoPlaying) { mVideoView.start(); } } catch (DataAbilityRemoteException | FileNotFoundException e) { e.printStackTrace(); } ``` 控制播放 ```java mVideoView.seekTo(1000); mVideoView.setPlaybackSpeed(2.0f); mVideoView.start(); mVideoView.stopPlayback(); mVideoView.pause(); mVideoView.release(); ``` 附视频测试地址: ```` https://sample-videos.com/video123/3gp/240/big_buck_bunny_240p_1mb.3gp https://dash.akamaized.net/akamai/bbb/bbb_320x180_59.94fps_300k.mp4 https://dash.akamaized.net/akamai/ad-content/raw/102015_Akamai_ADScaler_Refresh_FV_H264_1920x1080.mov https://dash.akamaized.net/akamai/bbb/bbb_320x180_59.94fps_300k.mp4 https://sample-videos.com/video123/mkv/720/big_buck_bunny_720p_1mb.mkv ```` ### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 ### 版本迭代 - 1.0.0 ### 版权和许可信息 ```` Copyright (C) 2014, 2015, 2016, 2017, 2018, 2020 Mario Guggenberger mg@protyposis.net. Released under the Apache 2.0 license. See LICENSE for details. ````