Android 音乐资源管理与播发
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