在用 Android 的 MediaPlayer 做 音频播放器 开发时,遇到了一些问题,在此总结。
MediaPlayer 包含了很多状态: Idle, End, Initialized, Prepared, Preparing, Started, Paused, Stop, PlaybackCompleted, Error
对于一般开发者,没必要全部记,只需按以下流程调用即可
New -> reset() -> setDataSource() -> prepare() -> start() -> [pause() -> start()] -> stop() -> [prepare() -> start() ... -> stop()] -> release()
此外,应注意 MediaPlayer 不能声明在主 Activity 里,不然 release 时会报错,需要将他放到一个 Service 里,这一点网络上的大部分示例都没有提及。