2012-11-20 53 views
0

讓我的代碼工作。只有一個部分有點麻煩。無法設置字符串到對象

public void picksound(){ 

Intent mIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(mIntent, 1); 
} 


public void onActivityResult(int requestCode, int resultCode, Intent mIntent) { 
if (resultCode == RESULT_OK && null != mIntent) { 
    if (requestCode == 1) { 

      Uri selectedRing = mIntent.getData(); 

    } 
}} 

private void playSong(String selectedRing){ 
    MediaPlayer mp = new MediaPlayer(); 
    try { 
     mp.setDataSource(selectedRing); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SecurityException 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(); 
} 


public void alarmmsg(){ 
    //ringtone player 
    playSong(selectedRing); 
    // 

這就是我正在使用的代碼。當我嘗試調用playSong函數時,我被要求輸入一個字符串,並且它似乎接受的唯一字符串是「null」。有人可以幫助看到我做錯了什麼嗎?

回答

0

嘗試修改此行:

MediaPlayer mp = new MediaPlayer(); 

要這樣:

MediaPlayer player = MediaPlayer.create(this, Uri.parse("http://www.urltofile.com/file.mp3")); 
+0

似乎沒有做任何事情:/ –

+0

這是什麼意思? –

0

link有不同的方式做這件事的幾個例子。

相關MediaPlayer文檔可以發現here

+0

對不起,沒有真正幫助我的情況:/ –