zoukankan      html  css  js  c++  java
  • 安卓,播放音乐资源文件

    这里介绍两种播放资源文件的方法:

    第一种、

    assets类资源放在工程根目录的assets子目录下,它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk文件中。如果我们要在程序中访问这些文件,那么就需要指定文件名来访问。这里把要添加的音乐文件加入进去

    添加play()方法。

        protected void play(){
            AssetManager am = getAssets();
            try {
                mpMediaPlayer.setDataSource(am.openFd("first.mp3").getFileDescriptor());
                mpMediaPlayer.prepare();
                mpMediaPlayer.start();
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    play

    第二种、
    在res文件夹下添加raw文件夹,在raw文件夹下添加音乐文件,继续添加音乐文件,后添加paly方法

    protected void play(){
            mpMediaPlayer=MediaPlayer.create(this, R.raw.first);
            try {
                mpMediaPlayer.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            mpMediaPlayer.start();
        }
    play

    res/raw目录下的资源,和assets类资源一样,都是原装不动地打包在apk文件中的,不过它们会被赋予资源ID,这样我们就可以在程序中通过ID来访问它们。

    实现音乐文件的重复播放:

      //音乐重复播放
            mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {  
                
                @Override 
                public void onCompletion(MediaPlayer arg0) {  
                    mpMediaPlayer.start();  
                    mpMediaPlayer.setLooping(true);             
                }  
            }); 
    View Code
  • 相关阅读:
    PCL:描述三维离散点的ROPS特征(Code)
    veket智能机器人
    三维重建:SLAM的粒度和工程化问题
    DNN:逻辑回归与 SoftMax 回归方法
    人工智能:一种现代方法 第四版 翻译序言
    编程低级错误记录
    apache服务器配置防盗链(centos7)
    Linux下命令行中的复制和粘贴
    rm: cannot remove `libtoolT’: No such file or directory
    switch范围判断
  • 原文地址:https://www.cnblogs.com/wynet/p/5526905.html
Copyright © 2011-2022 走看看