首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android 音乐资源管理与播发

2012-07-20 
Android 音乐资源管理与播放MediaScanner与音乐信息扫描Android系统在SD卡插入后,MediaScanner服务会在后

Android 音乐资源管理与播放
MediaScanner与音乐信息扫描

        Android系统在SD卡插入后,MediaScanner服务会在后台自动扫描SD上的文件资源,将SD上的音乐媒体信息加入到MediaStore数据库中。程序可以直接从MediaStore中读取相应的媒体信息。通过注册监听MediaScanner广播的Intent,可以获知MediaScanner服务是否在进行后台的扫描工作:

       Intent.ACTION_MEDIA_SCANNER_STARTED 表示MeidaScanner开始扫描;
       Intent.ACTION_MEDIA_SCANNER_FINISHED 表示MediaScanner扫描结束;
       当程序从网络下载媒体文件到终端后,MediaScanner服务并不会自动扫描刚刚下载的文件,需要程序主动去扫描这些新添加的媒体文件信息到MediaStore数据库中。在Android系统中有两种方式去主动扫描音乐媒体文件信息到
MediaStore数据库:

       1.启动MediaScanner服务,扫描媒体文件:
       程序通过发送下面的Intent启动MediaScanner服务扫描指定的文件或目录:
       Intent.ACTION_MEDIA_SCANNER_SCAN_FILE:扫描指定文件

java代码:

    private void playFromNetwork() {
    String path = "http://website/path/test.mp3";
    String CMWAP_HOST = "10.0.0.172";
    String CMWAP_PORT = "80";

    //假设CMWAP连接的端口名
    String SOCKET_INTERFACE = "cminnet0";

    String urlWithProxy = path + "?x-http-proxy=" + CMWAP_HOST + ":" + CMWAP_PORT + "&" + "x-net-interface=" + SOCKET_INTERFACE ;
    try {
    MediaPlayer player = new MediaPlayer();
    player.setDataSource(path);
    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    public void onPrepared(MediaPlayer player) {
    player.start();
    }
    });
    player.prepareAsync();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
复制代码  原文转自:http://www.eoeandroid.com/thread-98713-1-1.html

热点排行