当前位置: 首页 > 知识库问答 >
问题:

从sd卡随机播放mp3文件

锺离宸
2023-03-14

我需要你的帮助。我正在开发一个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卡上的歌曲

共有1个答案

於永寿
2023-03-14

根据NISHANT的说法:

您需要实现流媒体播放器。这里有一个例子。希望它能帮助你。

郑重声明,我在Google.de.花了30秒

 类似资料:
  • 我是相当新的Android应用程序开发,我试图从 /res/raw文件夹中播放一个随机的. mp3。 到目前为止,我已经修复了这个问题,但我遇到了一个FileNotFoundException。 修正了只在第一次点击时播放一个随机声音,之后它是相同的声音,除非重新打开应用程序。 新问题现在播放随机声音,但当我多次单击按钮时,声音同时开始播放,并且仍然在日志中收到“start()mUri is nu

  • 我无法从sd卡播放wav音频文件: 这是我的代码: 文件名路径的格式为:/storage/emulated/0/MyApp/name。wav 这是我得到的错误代码: 我希望你能帮我? 谢谢

  • 问题内容: 我正在尝试编写一个将从Soundcloud URL播放mp3的python脚本 这是我已经做的: 我尝试了许多选项,例如更改格式,频道,费率。而且我只是从扬声器中听到奇怪的声音,我搜索了Google以播放mp3,但没有找到任何信息。 我尝试通过传递mp3中的字节来创建对象,然后仅执行play函数。我没有收到任何错误:脚本正在运行,但没有任何播放。 我正在使用Python 3和Ubunt

  • 当我使用MediaPlayer播放mp3文件时,系统会报告错误日志:。但是RealPlayer是正常的。 我发现它的错误只发生在更高的ROM版本。像4.0版本一样,它有错误。在2.3版中,它没有这个错误。 代码: 日志猫错误:

  • 问题内容: 我有以下DataFrame: 从csv文件读取DataFrame。所有具有1的行都位于最上面,然后是具有2的行,然后是具有3的行,依此类推。 我想重新整理DataFrame行的顺序,以便将所有行混合在一起。可能的结果可能是: 我该如何实现? 问题答案: 使用Pandas的惯用方式是使用数据框的方法对所有行进行采样而无需替换: 的关键字参数指定的行的分数到随机样品中返回,所以装置返回所有

  • 我遵循了本教程:http://what-when-how.com/javafx-2/playing-audio-using-the-media-classes-javafx-2-part-1/ 我有相应的资源文件夹在相应的目录中。类文件,但我仍然不能播放音频。mp3文件与教程中的不同,但我也有一个. wav等效文件,发现JavaFX可以开箱播放*. wav文件,但不能播放mp3文件。怎么回事啊?