android MediaPlayer setDataSource未捕获可播放文件

android MediaPlayer setDataSource未捕获可播放文件,android,android-mediaplayer,Android,Android Mediaplayer,嘿,我很难从本地主机服务器和其他带有原始mp3文件的网站获得播放流。我的代码为被注释掉的站点工作,所以我认为它有一些需要改进的地方 使用服务器而不是java代码 公共类MainActivity扩展了ActionBarActivity{ //静态最终管柱锚=http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3; 静态最终管柱锚=http://spintron.ddns.net/Random%20Access%20Memo

嘿,我很难从本地主机服务器和其他带有原始mp3文件的网站获得播放流。我的代码为被注释掉的站点工作,所以我认为它有一些需要改进的地方 使用服务器而不是java代码

公共类MainActivity扩展了ActionBarActivity{ //静态最终管柱锚=http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3; 静态最终管柱锚=http://spintron.ddns.net/Random%20Access%20Memories/07%20-%20Touch.mp3; @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_main; MediaPlayer mp=新的MediaPlayer; mp.setVolume1,1; 试一试{ mp.setDataSourceANCHOR; mp.prepareAsync; }卡奇{ e、 打印跟踪; } mp.SetOnPreparedListener新建MediaPlayer.OnPreparedListener{ @凌驾 已准备好的MediaLayer mp上的公共无效{ Toast.MakeTextMain活动。此,已准备好,Toast.LENGTH\u LONG.show; mp.start; } }; } @凌驾 公共布尔onCreateOptions菜单菜单{ //为菜单充气;这会将项目添加到操作栏(如果存在)。 getMenuInflater.inflateR.menu.main,菜单; 返回true; } @凌驾 公共布尔值OnOptions ItemSelectedMenuItem项{ //处理操作栏项目单击此处。操作栏将 //自动处理Home/Up按钮上的点击,只要 //在AndroidManifest.xml中指定父活动时。 int id=item.getItemId; 如果id==R.id.action\u设置{ 返回true; } 返回super.on选项ItemSelectedItem; }
} 要播放音乐文件,请参阅下面的代码。 我的res/raw文件夹包含选项\u music.wav音乐文件

// Play Music

    MediaPlayer mp = new MediaPlayer();
    AssetFileDescriptor descriptor;


    try {
        descriptor = getAssets().openFd("options_music.wav");
        mp.setDataSource(descriptor.getFileDescriptor(),
                descriptor.getStartOffset(), descriptor.getLength());
        descriptor.close();
        mp.prepare();
        mp.start();

        mp.setOnCompletionListener(new OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                //Log.e("Music", "Music Completed........");
                mp.start();
            }
        });

    } catch (Exception e) {
        Log.e("ErrorMusic", "Cant Play Music File"+e);
    }

对于您的url,请确保您的it是正确的url编码,并且可以从您的手机访问。

@spinton url可能是错误的,或者参考此链接。感谢您的努力。我相信我的问题是由于港口转运问题造成的。