一丶源码见本文
二丶演示(略)
三丶课程讲解
1.下载(官网下载GitHub下载)
2.导入
( 1)源文件根目录下新建libraries,将解压后的viamio文件复制粘贴进去,还要粘贴进两个版本支持包
(2)添加依赖
setting.grald添加
include ':app' include ':libraries:vitamio'
添加完后ReBulid一下
(3)修改配置(参见自己Android Studio配置修改)
三个位置:1.APP文件下bulid.gradle 2.导入文件下的bulid.gradle 3.工程下面的bulid.gradle
(4)改错误(通常这一步是菜鸟杀手,但必须经历)
视频讲解的两个错误
资源文件错误和App名称错误
解决方法是添加一个图片资源和删除App名,然而问题的关键在与导入vtamio时包名变化,改成原来包名即可
再ReBuild一下就好了
MainActivity1(播放Mp3)
public class MainActivity extends AppCompatActivity implements 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); initMediaPlayer(); } private void initMediaPlayer() { mediaPlayer = new MediaPlayer(this);//这里不一样 } public void play(View view){ String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)+"/tl.mp3"; try { mediaPlayer.reset(); mediaPlayer.setDataSource(path); mediaPlayer.setOnPreparedListener(this); mediaPlayer.prepareAsync(); } catch (IOException e) { e.printStackTrace(); } } public void pause(View view){ mediaPlayer.pause(); } public void stop(View view){ mediaPlayer.stop(); mediaPlayer.release(); } @Override public void onPrepared(MediaPlayer mp) { mp.start(); } }xml对应三个button(略)
MainActivity2(播放flv格式视屏)
public class MainActivity2 extends AppCompatActivity { private VideoView vv; @Override protected void onCreate(Bundle savedInstanceState) { //加载so类库(通常使用C、C++编写类库) if (!LibsChecker.checkVitamioLibs(this)) return; super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); vv = (VideoView) findViewById(R.id.surface_view); MediaController mc = new MediaController(this); vv.setMediaController(mc); String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)+"/java4ever.flv"; vv.setVideoPath(path); vv.requestFocus(); vv.start(); } }xml
<io.vov.vitamio.widget.VideoView android:id="@+id/surface_view" android:layout_width="wrap_content" android:layout_height="wrap_content" />