안녕 다음과 같은 코드로 노력하고 있지만 그것은 나를 도와 나를 위해미디어 재생 방법? application.I에서 미디어 파일을 재생하는 방법
player= new MediaPlayer().create(context, R.raw.lonely);
player.start();
player.release();
를 작동하지 않는 이유를 알고하지 않습니다. 미리 감사드립니다.
안녕 다음과 같은 코드로 노력하고 있지만 그것은 나를 도와 나를 위해미디어 재생 방법? application.I에서 미디어 파일을 재생하는 방법
player= new MediaPlayer().create(context, R.raw.lonely);
player.start();
player.release();
를 작동하지 않는 이유를 알고하지 않습니다. 미리 감사드립니다.
나는 MediaPlayer
으로 경기를 보지 못했지만, release()
전화없이 시도 할 것입니다. This example은 사용하지 않습니다. 그리고 docs은 재생 한 후 호출 할 수있는 정리 방법의 말 : 이 MediaPlayer를 객체와 연관된
자원을 해방합니다. MediaPlayer를 사용하면이 메서드를 호출하는 것이 좋습니다.
저는 여러분이 생성자를 엉망으로 만들고 있다고 생각합니다. 정적으로 MediaPlayer를 인스턴스화 할 수 있습니다 : MediaPlayer.create(Context context, int resid)
, 가장 쉬운 방법은 play()
으로 전화하면됩니다. 또한 유효한 컨텍스트가 필요합니다. 즉, Activity 또는 Service 내에서 MediaPlayer를 만드는 경우 "this"를 컨텍스트로 전달하십시오.
는 또한 "정상"생성자 MediaPlayer()
을 사용할 수 있지만, 당신은 명시 적으로 play()
전에 setDataSource()
및 prepare()
에 전화를 할 것입니다.
게다가 Grzegorz가 작성한 것처럼 play()
바로 뒤에 release()
을 호출하는 것은 좋은 생각이 아닙니다.
이 샘플을 folow 수 있습니다 : 그것은 심지어 릴리스없이 나를 위해 작동하지 않습니다
public void audioPlayer(String path, String fileName){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(path+"/"+fileName);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
(). – Androider