Данный проект основан на открытом проекте Fenster и предназначен для переноса и разработки на базе HarmonyOS. Проект доступен по адресу: github адрес.
Версия для переноса: v.0.0.2
Способ 1:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
……
}
Способ 2:
allprojects {
repositories {
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:fenster:1.0.1'
Fenster — это пользовательский видеопроигрыватель, созданный с использованием SurfaceProvider и Player. Для запуска видео достаточно добавить компоненты в файл layout AbilitySlice, а затем вызвать соответствующий интерфейс компонента для воспроизведения видео.
<com.malmstein.fenster.view.FensterVideoComponent
ohos:id="$+id:play_video_texture"
ohos:width="match_parent"
ohos:height="match_parent"/>
<com.malmstein.fenster.controller.SimpleMediaFensterPlayerController
ohos:id="$+id:play_video_controller"
ohos:width="match_parent"
ohos:height="match_content"
ohos:align_parent_bottom="true"/>
private void bindViews() {
textureView = (FensterVideoView) findComponentById(ResourceTable.Id_play_video_texture);
fullScreenMediaPlayerController = (SimpleMediaFensterPlayerController) findComponentById(
ResourceTable.Id_play_video_controller);
}
private void initVideo() {
fullScreenMediaPlayerController.setVisibilityListener(this);//用于控制控制器的显示与隐藏
textureView.setMediaController(fullScreenMediaPlayerController);
textureView.setOnPlayStateListener(fullScreenMediaPlayerController);
}
@Override
public void onPostStart() {
String localFile = null;
if (mIntent != null) {
localFile = mIntent.getStringParam(KEY_LOCAL_FILE);
}
if (localFile != null) {
ohos.global.resource.ResourceManager resManager = getAbilityPackageContext().getResourceManager();
RawFileEntry rawFileEntry = resManager.getRawFileEntry("resources/rawfile/big_buck_bunny.mp4");
RawFileDescriptor assetFileDescriptor;
try {
assetFileDescriptor = rawFileEntry.openRawFileDescriptor();
textureView.setVideo(assetFileDescriptor);//设置本地视频资源
} catch (IOException e) {
e.printStackTrace();
}
} else {
textureView.setVideo("https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/A91343E9D/v3/9AB0A7921049102362779584128/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4");//设置网络URI
}
textureView.start();
}
3.1 Добавить атрибут конфигурации: xmlns:app="http://schemas.huawei.com/res/tools"
3.2 Настроить app:scaleType="crop":
<DependentLayout
ohos:height="200vp"
ohos:width="300vp">
<com.malmstein.fenster.view.FensterVideoComponent
ohos:id="$+id:play_video_texture"
ohos:width="match_parent"
ohos:height="match_parent"
app:scaleType="crop"/>
<com.malmstein.fenster.controller.SimpleMediaFensterPlayerController
ohos:id="$+id:play_video_controller"
ohos:width="match_parent"
ohos:height="match_content"
ohos:align_parent_bottom="true"
/>
</DependentLayout>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Примечание: в тексте запроса присутствуют фрагменты кода на языке программирования Java, которые не были переведены. Если это не противоречит действующему законодательству или определённым договорённостям в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.
См. Лицензию для ознакомления с конкретным языком, регулирующим разрешения и ограничения по Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )