安卓学习日记——Vitamio框架

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();
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chen_xiaoke/article/details/89512686