3

あなたの助けが必要です。Android アプリを開発しており、SD カードからランダムな曲を再生する必要があります。私はこの方法を試しました:

この方法では、フォルダーからランダムに曲を選択しますsdcard/Music(このフォルダーには mp3 ファイルのみが含まれます)。

    public File chooseSong()
    {
        Random r=new Random();
        File path=new File("/sdcard/Music");
        File[] songsList=path.listFiles();
        int index=(r.nextInt(songsList.length));
        Toast.makeText(Main.this, "Song extract "+songsList[index],Toast.LENGTH_SHORT).show();

        return songsList[index];
    }

次に、このメソッドを使用して、抽出した曲を再生します。

   public void play()
   {
            Toast.makeText(Main.this, "in method play() ", Toast.LENGTH_SHORT).show();
            try
            {
                   File f=chooseSong();
                   String path=f.getPath();
                   mpSong = new MediaPlayer();
                   mpSong.setDataSource(path);
                   mpSong.prepare();   //i think the problem is here, i receive "failed to prepare status 0x1"
                   mpSong.start();
                   Toast.makeText(Main.this, "Playing", Toast.LENGTH_SHORT).show();
            }
            catch(Exception e)
            {
                e.printStackTrace();
                Toast.makeText(Main.this, "error", Toast.LENGTH_SHORT).show();
            }
    }

MediaPlayer を使用して、スマートフォンの SD カードから曲を再生する方法を知りたいです。

4

1 に答える 1

2

ここのNISHANTによると:

Streaming Media Player を実装する必要があります。ここにがあります。それがあなたを助けることを願っています。

記録のために、 Google.deで 30 秒ほどかかりました。

于 2012-09-19T14:47:48.090 に答える