Vitamio中文名称“维他蜜”,是一款Android与IOS平台上的全能多媒体开发框架,全面支持硬件解码与GPU渲染。Vitamio能够流程播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在Android与IOS上跨平台支持MMS,RTSP,RTMP,HLS等常见的多种视频流媒体协议,包括点播与直播。
下载地址:https://github.com/yixia/VitamioBundle
引用Vitamio包流程
在创建的工程目录下创建一个文件夹,这边取名libraries
将下载好的文件,解压,把vitamio文件夹复制粘贴过来
再把dist文件夹下的arm_x86_mips文件夹下的libs文件夹里的mips和x86复制粘贴到libraries文件夹下的vitamio文件夹下的libs文件夹
打开工程的settings.gradle,导入如图
右键app打开设置
添加
对照工程的build.gradle修改vitamio的build.gradle,主要修改框起来的部分
之后重新创建一下
如果还有问题,系统提示去修改
播放音频
package com.example.vitamio;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.io.IOException;
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener{
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载so类库(通常使用C或C++编写)
if (!LibsChecker.checkVitamioLibs(this))
return;
setContentView(R.layout.activity_main);
initMediaPlay();
}
private void initMediaPlay() {
mediaPlayer=new MediaPlayer(this);
}
public void play(View v){
String path= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)+"/zhh.mp3";
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(path);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
public void pause(View v){
mediaPlayer.pause();
}
public void stop(View v){
mediaPlayer.stop();
mediaPlayer.release();
}
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
}
权限设置
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
清单文件中添加引用的activity
<activity
android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
播放视频
package com.example.vitamio;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
public class Main2Activity extends AppCompatActivity {
private VideoView vv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!LibsChecker.checkVitamioLibs(this))
return;
setContentView(R.layout.activity_main2);
vv=findViewById(R.id.surface_view);
MediaController mc=new MediaController(this);
vv.setMediaController(mc);
String path= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)+"/2.mp4";
vv.setVideoPath(path);
vv.requestFocus();
vv.start();
}
}