음악을 재생하는 정적 메소드가 있습니다. 재생이 완료되면이 메서드에서 값을 반환하는 방법? 당신이 결과를 반환해야하는 경우리스너의 반환 값
public static int playSample(Context context, int resid) {
AssetFileDescriptor afd = context.getResources().openRawResourceFd(resid);
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getDeclaredLength());
mediaPlayer.prepare();
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mediaPlayer) {
// from here i want return some value that play is completed
}
});
afd.close();
} catch (IllegalArgumentException e) {
Log.e("a", "Unable to play audio queue do to exception: " + e.getMessage(), e);
} catch (IllegalStateException e) {
Log.e("a", "Unable to play audio queue do to exception: " + e.getMessage(), e);
} catch (IOException e) {
Log.e("a", "Unable to play audio queue do to exception: " + e.getMessage(), e);
}
}