Android多媒体-----AsyncPlayer


AsyncPlayer是Android实现异步音乐播放的一个类,它将要播放的媒体文件封装成内部类Command

private static final class Command {
int code; //PLAY = 1 ,STOP = 2
Context context; //上下文
Uri uri; //文件uri
boolean looping; //是否循环
int stream; //audio stream type
long requestTime;
//......
}
}

为了实现多个音乐播放,所有command都加在了 LinkedList中

当调用play或者stop方法的时候,会根据参数封装成一个command对象,启动一个thread,thread中会把LinkedList的第一个command弹出,根据command的code去判断是要播放还是停止,播放调用startSound()方法,停止则释放所有资源,当LinkedList中没有command,线程便停止。

相关内容