2012-02-13 65 views
0

对不起我的英文不好 ..可能你会看到一些语法错误..播放MP3在ListView在Android中

我学习编程的Android应用程序,我需要帮助。 我想在'res/raw'文件夹中放一些mp3文件,我想在Listview上的每个项目上放置特定的文本。因此,当用户点击他想要的项目(例如歌曲标题)时,相关的mp3就会启动。

我想如果你能教我如何只播放一个MP3(因为用户可以在第一个MP3播放期间点击很多项目)。 我是新的Android世界,请耐心等待,并使用简单的条款:)

祝您有美好的一天, Riccardo。

回答

0

由于你的问题不包括你的任何特定的代码,我可以给你一些指导。

  1. 声明对MediaPlayer实例的类成员引用。例如它应该在类的范围内,它被宣布,而不是在任何方法:

    public class MyListView extends ListView { 
        private MediaPlayer mp = null; 
        //your methods here 
    } 
    
  2. 在你的OnClickListener,检查实例为null,如果没有,停止和释放,并创建一个新的实例与新歌。

    public void onClick(View v) { 
        if (mp != null) { 
         mp.stop(); 
         mp.release(); 
         mp = MediaPlayer.Create(....); 
         mp.start(); 
        } 
    } 
    
  3. 如果代替创建你决定使用prepareAsync(),请确保你不叫,制备后立刻开始,而是分配OnPreparedListener,并呼吁启动它。

除了这一点,遵循MediaPlayer参考的准则。

+0

非常感谢您的回复,您帮助我了解实例,但是..我不明白我如何为ListView中的每个项目分配一个mp3。不幸的是,这不是像Visual这样的事件驱动语言基本的,我只有16岁,我没有经验的Java,我现在试图理解它 – rickrack 2012-02-13 11:54:22

+0

创建一个MP3的ID的数组,并根据视图的索引设置适当的ID感动。 – MByD 2012-02-13 11:56:34

+0

顺便说一句,android编程很像事件驱动的编程,使用监听器。你也可以看看这里:http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-i – MByD 2012-02-13 11:58:42

0

检查此link。您需要将代码整合到您的listView.setOnItemSelectedListener()实施中的此链接中。