我正在创建一个播放短媒体文件的应用程序。我只想要一个媒体按钮 - 当播放文件时,它应该显示停止媒体图标。文件播放完毕后,应立即恢复为播放图标。
注意 - player
是媒体播放器类,包含所有相关方法(准备;播放;停止;暂停等)
我尝试在活动的onCreate
中启动一个单独的帖子,如下所示:
Thread thread = new Thread()
{
@Override
public void run()
{
final ImageButton button = (ImageButton)findViewById(R.id.lesson_media_button);
//BUTTON
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if(media_button == true)
{
media_button = false;
player.PlaySound();
button.setImageResource(R.drawable.stop);
}
else if(media_button == false)
{
media_button = true;
player.StopSound(mycontext, audio);
button.setImageResource(R.drawable.play);
}
while(true)
{
if(player.isPlaying() == false)
{
media_button = true;
button.setImageResource(R.drawable.play);
break;
}
}
}
});
}
};
thread.start();
播放工作正常,但是在忙碌播放时我永远无法停止文件,图像始终显示播放图标(从不停止)。当文件完成播放时,我得到应用程序可能在其主线程上做了太多工作警告。
任何人都可以帮助或建议更好的方法吗? 干杯