gpt4 book ai didi

android - NativeScript android BetterVideoPlayer 实现

转载 作者:行者123 更新时间:2023-11-29 23:08:06 25 4
gpt4 key购买 nike

我正在尝试实现 BetterVideoPlayer (implementation 'com.github.halilozercan:BetterVideoPlayer:1.2.alpha1') NativeScript Android。因此,在 Angular 项目中,我创建了这样的单独组件:

import { View } from "tns-core-modules/ui/core/view";

declare var com, android;

export class BetterPlayer extends View {

public mediaPlayer;

public createNativeView(): any {

const nativeView = new android.widget.FrameLayout(this._context);

nativeView.addView(this._openVideo());

// or return this._openVideo(); // still not working..

return nativeView;
}



public _openVideo() {
let url = android.net.Uri.parse("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4");

this.mediaPlayer = new com.halilibo.bettervideoplayer.BetterVideoPlayer(this._context);

console.dir(this.mediaPlayer);

this.mediaPlayer.setSource(url);
this.mediaPlayer.setAutoPlay(true);
this.mediaPlayer.setHideControlsOnPlay(true);

return this.mediaPlayer;
}
}

然后从组件我使用 registerElement 注册它

registerElement("BetterPlayer", () => BetterPlayer);

HTML:

<BetterPlayer height="200"></BetterPlayer>

但问题是,它没有显示播放器。只显示黑色区域。我哪里做错了?请给我建议。提前致谢。

最佳答案

BetterVideoPlayer 在 onFinishInflate() 中创建实际的媒体播放器,是一种仅在通过 Android XML 启动 View 元素时调用的方法,不会触发像您在 {N} 中那样进行的编程创建这个方法。所以你可以简单地执行 this.mediaPlayer.onFinishInflate(); 来强制创建媒体播放器,它应该可以工作,我可以在设备上观看视频。

关于android - NativeScript android BetterVideoPlayer 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56324452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com