player = new MediaPlayer();//初始化 player.reset();//将player状态重置 player.setAudioStreamType(AudioManager.STREAM_MUSIC);//设定播放类别String wordUrl = details.getCerSectionList()[mPosition].getWordUrl(); Uri uri = Uri.parse(wordUrl); player.setDataSource(getmContext(), uri); player.prepareAsync();//还可以使用prepare() 但是存在性能问题 player.setOnPreparedListener(this); //player 必须prepare或prepareAsync 但是属于耗时操作,所以建议使用监听器,而player.start()等也可以写在里面 顺带一提 当触发播放操作时可以设置加载动画 在prepare的监听器尾部结束加载动画,启动播放动画和播放操作 player.setOnCompletionListener(this);//播放完成时操作 可以对进度条和播放器本身进行操作 player.stop()、player.release()等直接使用可能会报错 原因是player状态已经改变 问题出在底层
Android -MediaPlayer 菜鸟心得
最新推荐文章于 2025-08-14 10:16:47 发布