2017-08-24 43 views
0

如何設置從R.raw聲音RingtoneManager設定音響RingtoneManager ....如何從R.raw

我想設置我的聲音,但我不知道將其設置

Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

     MediaPlayer mediaPlayer = new MediaPlayer(); 

     try { 
      mediaPlayer.setDataSource(context, defaultRingtoneUri); 
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); 
      mediaPlayer.prepare(); 
      mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 

       @Override 
       public void onCompletion(MediaPlayer mp) 
       { 
        mp.release(); 
       } 
      }); 
      mediaPlayer.start(); 
     } catch (IllegalArgumentException e) { 
      e.printStackTrace(); 
     } catch (SecurityException e) { 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

感謝您的幫助!和對不起我的英文不好

+1

試試這個https://stackoverflow.com/questions/7499605/how-to-play-the-audio-files-directly-from-res-raw-folder – Raghavendra

回答

2
int resID=getResources().getIdentifier(fileName, "raw", getPackageName()); 
MediaPlayer mediaPlayer=MediaPlayer.create(this,resID); 
mediaPlayer.start(); 

我希望它可以幫助你。確保fileName是小寫的。

請注意,fileName不包含任何擴展名。不要寫任何擴展名只是文件名。 例如,對於ringtone.mp3 - 寫:

.getIndentifier("ringtone","raw",getPackageName()); 

你甚至可以輸入它通過InputStream

InputStream ins = getResources().openRawResource(getResources().getIdentifier("fileName","raw", getPackageName())); 
+0

的感謝!是工作 –

0

如果你的意思是豪生資源加載到MediaPlayer的嘗試:

mediaPlayer = MediaPlayer.create(context, R.raw.example); 
+0

抱歉,這不是工作 –