【发布时间】:2012-01-23 13:12:10
【问题描述】:
我正在使用 Android MediaPlayer 类并尝试编写一个测试用例来验证是否调用了 onCompletion 方法。 我用它在上一首完成后播放下一首。
当我使用模拟器(2.1 或 4.0)运行应用程序时,会调用 onCompletion 方法并开始播放下一首曲目,但在测试用例中它不是。 这是简化的代码:
public class MediaPlayerControllerTest extends AndroidTestCase implements OnCompletionListener {
public void testContinuePlayNextTrack() {
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(this);
try {
mediaPlayer.setDataSource("/mnt/sdcard/5749/01.mp3");
mediaPlayer.prepare();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
}
@Override
public void onCompletion(MediaPlayer mp) {
System.out.println("ON COMPLETION!!!!!");
}
}
上面的代码通常是应用程序和测试中使用的 MediPlayerController 类的一部分,所以它是同一个类。我将问题分解为上面的几行代码。
这花了我很多时间。我希望有人有一个解决方案!
非常感谢!!!
【问题讨论】:
标签: android junit media-player