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" だけです。誰かが私が間違ったことを理解するのを助けることができますか?

4

1 に答える 1

0

この行を変更してみてください:

MediaPlayer mp = new MediaPlayer();

これに:

MediaPlayer player = MediaPlayer.create(this, Uri.parse("http://www.urltofile.com/file.mp3"));
于 2012-11-20T11:39:55.380 に答える