2011-01-31 8 views
18

나는 안드로이드 OS에 몇 가지 간단한 소리 (삑 소리, 쿵쾅 소리가 나기, 누르기 등)를 추가하려고합니다. 그래서 안드로이드 OS 나 SDK에 내장 사운드가 있는지 궁금합니다. 이용 될 수있다. 그렇다면 어떻게 액세스 할 수 있습니까? 내 유일한 추측은 mediastore 또는 soundpool 클래스의 어딘가에 ... 나는 아주 새롭고, 당신이 제공 할 수있는 모든 도움말/팁을 크게 높이 평가 될 것입니다. 고맙습니다. 당신은 다양한 기본 사운드의 DEFAULT_NOTIFICATION_URI 또는 DEFAULT_ALARM_ALERT_URIDEFAULT_RINGTONE_URI을 대체 할 수앱에서 사용할 수있는 내장 사운드/기본 사운드가 있습니까?

MediaPlayer player = MediaPlayer.create(this, 
    Settings.System.DEFAULT_RINGTONE_URI); 
player.start(); 

:

답변

20

당신은 함께 기본 벨소리를 재생할 수 있습니다.

+1

android.provider.Settings.System – usman

+1

더 완전한 샘플 withh 오류가 http://stackoverflow.com/questions/10335057/play-notification-default-sound-only-android –

1

1- 작성하지 말아야 할 작성 상태에 대한 도움말 작성 후 준비로 인해 준비 코드 행을 제거했습니다.

2이 장치에서 제대로 작동하지만 에뮬레이터에서 충돌이 있습니까 ??? ???

3- 알람, 알림 및 벨소리 이외의 다른 소리 ??

+0

내가 player.prepare을 제거 () 줄 내 대답을 두 번 문서를 확인하고 당신이 옳았어요. 왜 에뮬레이터가 작동하지 않을지 모르겠지만, 재생할 사운드 파일이 없을 수도 있습니다. 오류/충돌의'logcat' 출력을 제공 할 수 있습니까? 제공되는 3 이외의 다른 기본 시스템 사운드가 있다고 생각하지 않습니다. –

+0

You'r wright. 에뮬레이터에서 설정으로 들어갈 때 선택할 소리가 없습니다 -> 소리 -> 알림 벨소리 –

8

경고음을 생성하는 한 가지 방법은 다음과 같습니다.

확장자의 .rtttl와 원시 Resouce의 파일을 만들어 넣어 "C5 : d = 4, O = 5, B = 250 : C5"

는이 코드를 추가 그것에 따옴표없이

protected MediaPlayer _mediaPlayer; 

public void playFromResource(int resId) 
    { 
    if (_mediaPlayer != null) 
     { 
     // _mediaPlayer.stop();  freeze on some emulator snapshot 
     // _mediaPlayer.release(); 
     _mediaPlayer.reset();  // reset stops and release on any state of the player 
     } 
    _mediaPlayer = MediaPlayer.create(this, resId); 
    _mediaPlayer.start(); 
    } 

그런 다음 playFromResource를 호출하고 원시 rtttl 리소스 인 경우 리소스 ID를 전달합니다. 여기에 처리

+1

RTTTL에 대해 알려 주셔서 감사합니다! :-) – Abbafei

관련 문제