【VLC-Android】LibVLC API简介(相当于VLC的MediaPlayer)

简介:

vlc-android的LibVLC相当于MediaPlayer对象,这里列一下对应关系。

1、public void playMRL(String mrl)

对应MediaPlayer的setDataSource,注意不要转成Uri再toString,否则无法播放。用法如下:

playMRL("http://live.3gv.ifeng.com/zixun.m3u8") 

2、 public native void play()

对应MediaPlayer的start(),开始播放。

3、 public native void pause()

对应MediaPlayer的pause(),暂停播放。

4、 public native void stop()  

对应MediaPlayer的stop(),停止播放。

5、public native boolean isPlaying() 

对应 MediaPlayer的isPlaying,是否正在播放。

6、public native int getPlayerState();

获取播放器的状态。 

7、 public native int getVolume()  

  获取音量。

8、public native int setVolume(int volume) 

设置音量。(取值范围和MediaPlayer不一样

9、public native long getLength()

 对应 MediaPlayer的getDuration。获取视频的长度,以毫秒为单位。

10、public native long getTime()

返回视频当前时间,以毫秒为单位。 

11、public native long setTime(long time)

设置视频当前时间,以毫秒为单位。 

12、public native float getPosition()

对应MediaPlayer的getCurrentPosition。设置视频当前位置。 

13、public native void setPosition(float pos)

对应 MediaPlayer的seekTo。设置视频当前位置。 

14、public native void setRate(float rate)

设置播放速度(可实现快进快退)1是正常速度,2是两倍速(我猜可能和Vitamio一样取值是0.5 ~ 2.0) ,对应的有getRate方法。

15、public native boolean isSeekable()

是否支持seek(拖拽)。比如直播就不支持seek操作 

16、public void destroy() 

 对应 MediaPlayer的release,销毁LibVLC实例。

17、public byte[] getThumbnail(String mrl, int i_width, int i_height)

获取视频的截图,rgba的byte数组。 

18、public void setHardwareAcceleration(int hardwareAcceleration)

设置硬解编码,参考LibVLC.HW_ACCELERATION_FULL等参数

19、public void setNetworkCaching(int networkcaching)

设置网络缓冲。(还不知道怎么用,有看到设置值为3000、6000) 

20、public void setFrameSkip(boolean frameskip) 

(暂时也不知道有啥用,好像可以提高性能,帧解码出错以后直接跳过?) 

【VLC-Android】vlc-android简例

本文转自博客园农民伯伯的博客,原文链接:【VLC-Android】LibVLC API简介(相当于VLC的MediaPlayer),如需转载请自行联系原博主。



目录
相关文章
|
4月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
128 1
|
1月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
61 0
|
4月前
|
SQL Java 程序员
Java 8中的Stream API:简介与实用案例
【5月更文挑战第23天】本文将深入探讨Java 8中的Stream API,这是一种能够极大提升Java程序员生产力的新特性。我们将从基础概念开始,然后通过一些实用的案例来展示如何使用Stream API进行数据处理和操作。无论你是Java的初学者还是经验丰富的开发者,本文都将为你提供有价值的信息。
|
22天前
|
Android开发
Android 利用MediaPlayer实现音乐播放
本文提供了一个简单的Android MediaPlayer音乐播放示例,包括创建PlayerActivity、配置AndroidManifest.xml和activity_player.xml布局,以及实现播放和暂停功能的代码。
13 0
Android 利用MediaPlayer实现音乐播放
|
3月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
44 2
|
3月前
|
存储 Android开发 Kotlin
开发安卓app OKhttp下载后使用MediaPlayer播放
在Android Jetpack Compose应用程序中,要使用OkHttp下载远程音频文件并在本地播放,你需要完成以下几个步骤: 1. **添加依赖**:确保`build.gradle`文件包含OkHttp和Jetpack Compose的相关依赖。 2. **下载逻辑**:创建一个`suspend`函数,使用OkHttp发起网络请求下载音频文件到本地。 3. **播放逻辑**:利用`MediaPlayer`管理音频播放状态。 4. **Compose UI**:构建用户界面,包含下载和播放音频的按钮。
|
3月前
|
存储 Android开发
安卓app,MediaPlayer播放本地音频 | 按钮控制播放和停止
在Jetpack Compose中,不直接操作原生Android组件如`Button`和`MediaPlayer`,而是使用Compose UI构建器定义界面并结合ViewModel管理音频播放逻辑。以下示例展示如何播放本地音频并用按钮控制播放/停止:创建一个`AudioPlayerViewModel`管理`MediaPlayer`实例和播放状态,然后在Compose UI中使用`Button`根据`isPlaying`状态控制播放。记得在`MainActivity`设置Compose UI,并处理相关依赖和权限。
|
4月前
|
安全 Java API
Java 8中的Stream API:简介与实用指南深入理解Java并发编程:线程安全与锁优化
【5月更文挑战第29天】本文旨在介绍Java 8中引入的Stream API,这是一种用于处理集合的新方法。我们将探讨Stream API的基本概念,以及如何使用它来简化集合操作,提高代码的可读性和效率。 【5月更文挑战第29天】 在Java并发编程中,线程安全和性能优化是两个核心议题。本文将深入探讨如何通过不同的锁机制和同步策略来保证多线程环境下的数据一致性,同时避免常见的并发问题如死锁和竞态条件。文章还将介绍现代Java虚拟机(JVM)针对锁的优化技术,包括锁粗化、锁消除以及轻量级锁等概念,并指导开发者如何合理选择和使用这些技术以提升应用的性能。
|
3月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
3月前
|
存储 Android开发 Kotlin
Kotlin开发安卓app,在使用 MediaPlayer 播放 res/raw 中的音乐时遇到突然中断的问题,而 onErrorListener 没有接收到任何报错
在使用 Android MediaPlayer 播放 res/raw 中的音乐时遇到中断问题,可能的原因包括资源问题、媒体文件编码格式、生命周期管理和设备资源配置。要排查问题,检查音频文件是否正确包含,格式编码是否支持,MediaPlayer 是否正确管理及释放,以及设备是否有足够存储和配置。通过设置 onErrorListener 日志和确保在 onDestroy 中释放资源来调试。如果文件过大,考虑使用 AssetManager。遵循这些步骤可帮助诊断并解决播放中断的问题。