- 版本:4.0.3
- GitHub: https://github.com/Gavant/nativescript-exoplayer
- NPM: https://npmjs.net.cn/package/%40gavant%2Fnativescript-exoplayer
- 下载
- 昨天:0
- 上周:3
- 上个月:11
NativeScript ExoPlayer
一个 NativeScript 插件,提供使用 Google 的 ExoPlayer 播放本地和远程视频的能力。
开发人员
使用的平台控件
Android | iOS |
---|---|
Google ExoPlayer | iOS AVPlayer |
要使用 100% NativeScript 插件,请使用 NativeScript-VideoPlayer。 |
基于
这是基于 Brad Martin(nStudio, llc)的出色的 NativeScript-VideoPlayer;Android 端被重新编写以使用 Google 强化的 ExoPlayer。iOS 端与原始 NativeScript-VideoPlayer 中的一样。
由于有很多情况您可能仍然需要一个 100% NativeScript 插件,Brad 和我决定将其作为单独的插件来发布,这样您就可以在需要纯 JavaScript 插件的情况下使用原始 NativeScript-VideoPlayer。
Google ExoPlayer 会将大约一个半兆的插件添加到 Android 应用中。
示例用法
Sample 1 | Sample 2
-------------------------------------| ------------------------------------- |
安装
从您的命令提示符/终端进入您的应用程序根目录,然后执行
tns plugin add nativescript-exoplayer
使用方法
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:exoplayer="nativescript-exoplayer">
<StackLayout>
<exoplayer:Video id="nativeexoplayer"
controls="true" finished="{{ videoFinished }}"
loop="true" autoplay="false" height="280"
src="~/videos/big_buck_bunny.mp4" />
<!-- Remote file to test with https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 -->
</StackLayout>
</Page>
Angular Native(NativeScript Angular)使用方法
// somewhere at top of your component or bootstrap file
import {registerElement} from "nativescript-angular/element-registry";
registerElement("exoplayer", () => require("nativescript-exoplayer").Video);
// documentation: https://docs.nativescript.cn/angular/plugins/angular-third-party.html#simple-elements
使用 AngularNative,您必须显式关闭所有组件,因此以下模板代码是正确的。
<exoplayer
src="https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
autoplay="true"
height="300"></exoplayer>
属性
- src - 必需
设置要播放的视频文件,为了获得最佳性能,如果可能的话,请使用本地视频文件。文件必须符合平台接受的视频格式。有关参考,请查看平台播放视频的规范。
- enableSubtitles
默认情况下,字幕支持是关闭的。使用此标志打开它们。
- subtitles
设置具有字幕的 .srt
文件。这可以是本地文件或互联网 URL。目前仅支持 .srt
格式。
- autoplay - (布尔值) - 可选
设置视频是否应立即开始播放或等待用户交互。
- finished - (函数) - 可选
指定一个事件回调,当视频达到其持续时间结束时执行。
- controls - (布尔值) - 可选
设置为使用本地视频播放器的媒体播放控件。
- muted - (布尔值) - 可选
静音本地视频播放器。
- loop - (布尔值) - 可选
设置本地视频播放器在播放完成后循环一次。
- fill - (VideoFill) - 可选
Android:当设置为 VideoFill.aspectFill 时,视频的宽高比将不被尊重,它将填充整个可用空间。
iOS
- VideoFill.default = AVLayerVideoGravityResize
- VideoFill.aspect = AVLayerVideoGravityResizeAspect
- VideoFill.aspectFill = AVLayerVideoGravityResizeAspectFill
有关说明,请参阅 此处。
- playbackReady - (函数) - 可选
属性用于指定当视频准备播放时执行的事件回调。
- seekToTimeComplete - (函数) - 可选
属性用于指定当视频完成seekToTime操作时执行的事件回调。
- observeCurrentTime - (布尔值) - 可选
如果设置为true,则currentTimeUpdated回调是可能的。
- currentTimeUpdated - (函数) - 可选
属性用于指定当时间更新时执行的事件回调。
API
- play() - 开始播放视频
- pause() - 暂停视频
- seekToTime(time: number) - 将视频定位到指定时间(毫秒)
- getCurrentTime() - 返回视频播放时长中的当前时间(毫秒)
- getDuration() - 返回视频的时长(毫秒)
- destroy() - 销毁视频播放器并释放资源
- mute(boolean) - 静音当前视频
- setVolume() - 设置音量 - 必须介于0和1之间。
仅限Android
- stop() - 停止播放 - 这将重置播放器并移除视频源
破坏性更改
- Android现在将在应用暂停/恢复和注销/重新注册视频时附加/分离
- 默认情况下,将禁用字幕支持。
贡献者
- Alex Semenov
- Alex Ziskind @digitalix
- Blake Nussey
- Brad Martin @BradWayneMartin
- Jibon Lawrence Costa
- Nathanael Anderson @CongoCart
- Nathan Walker @wwwalkerrun
- Osie Fortune