6

シャウトキャストからラジオを再生する必要があるアプリケーションを開発しています。APIについては、このURLに従いました

開発者 ID を使用してステーション ID を取得することに成功しました。「ステーションにチューニングする方法」セクションで、特定のステーションにチューニングする方法を説明しました。私はそのセクションに従い 、Android メディア プレーヤーでこのURLを使用しました。しかし、私のメディアプレーヤーは何も再生しません。

私のターゲット SDK は 16 で、最小 SDK は 13 であることに注意してください。したがって、Android バージョンが問題にならないことを願っています。次のような他の URL を使用している場合、メディア プレーヤーは正常に動作します。

したがって、メディアプレーヤーに問題はないと思います。SOで利用可能な投稿をすでに確認しました。助けてください。

public class MainActivity extends Activity {

        Button play,pause,stop;
        private MediaPlayer mediaPlayer;
        private String out;
//      private String url = "http://yp.shoutcast.com/sbin/tunein-station.pls?id=175821";
//      private String url = "http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3";

        private String url1 = "http://streamplus8.leonex.de:14910";
        private String url2 ="http://s2.voscast.com:7016/";
        private String url3 ="http://s8.voscast.com:7024/";
        private String url4 ="http://s8.voscast.com:7020/";
        private String url5 ="http://s5.voscast.com:8216/";

        private boolean pauseState = false;
        ProgressDialog pd;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                pd = new ProgressDialog(this);
                pd.setMessage("Loading your song....");
                play = (Button)findViewById(R.id.btn_play);
                pause = (Button)findViewById(R.id.btn_pause);
                stop = (Button)findViewById(R.id.btn_stop);

                mediaPlayer = new MediaPlayer();
                this.setVolumeControlStream(AudioManager.STREAM_MUSIC);  
            try {
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mediaPlayer.setDataSource(url2);
                mediaPlayer.prepareAsync();
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Please check your connection!", Toast.LENGTH_LONG).show();
                e.printStackTrace();
            }

            play.setOnClickListener(new OnClickListener() {                    
                        @Override
                        public void onClick(View arg0) {

                                if(pauseState == true) {
                    mediaPlayer.start();
                } else {
                        pd.show();
                    mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mp) {
                            mediaPlayer.start();
                            if(mediaPlayer.isPlaying()){
                                pd.dismiss();
                            }
                        }
                    });
                }
                                pauseState = false;                            
                        }
                });
            pause.setOnClickListener(new OnClickListener() {                   
                        @Override
                        public void onClick(View arg0) {
                                mediaPlayer.pause();
                                pauseState = true;                             
                        }
                });
            stop.setOnClickListener(new OnClickListener() {                    
                        @Override
                        public void onClick(View arg0) {
                                mediaPlayer.stop();
//                              mediaPlayer.release();
                        }
                });


        }

}
4

2 に答える 2

4

Ok。大丈夫、私はついに自分自身を理解しました。実際、このURLに アクセスすると、1 つの .pls ファイルがダウンロードされます。.plsファイルの中身はこんな感じ

[playlist]
numberofentries=1
File1=http://203.150.225.71:8000
Title1=(#1 - 10866/10000) COOLfahrenheit 93
Length1=-1
Version=2

このファイルを読み取ってから、このファイルを解析して実際の URL を取得する必要があります。

http://203.150.225.71:8000

Android メディア プレーヤーは、この URL を再生できます。

于 2013-09-06T11:08:21.173 に答える
1

他の解決策を見つけるために .pls ファイルをダウンロードしたくありません。最後に、シンプルなシャウトキャスト ストリーミング アプリを手に入れました。これを試してください。StreamService.javaのストリーミング URL を変更するだけです。

于 2016-01-22T10:17:48.063 に答える