0
     public void getSound(String file) {
                    MediaPlayer mp;
                        try{
                            String SoundFile=file;
                            System.out.println("Here is the File"+SoundFile);
                            mp = MediaPlayer.create(getActivity().getBaseContext(),Uri.parse("android.resource://himanshu.sound/raw/"+file)); 
                            mp.start(); 
                            System.out.println("PLAYED");
                        }catch(Exception e){
                            System.out.println("Exception->"+e);
                        }   
                }

这是我的代码文件名是来自资产的 game.mp3。

现在我想播放音频

这是我的xml

    <ImageView
                        android:id="@+id/soundbtn"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:clickable="true"
                        android:gravity="right"
                        android:onClick="getSound"
                        android:paddingLeft="5dp"
                        android:paddingRight="15dp"
                        android:paddingBottom="5dp"
                        android:src="@drawable/audio" />



mp = MediaPlayer.create(getActivity().getBaseContext(),Uri.parse("android.resource://himanshu.sound/raw/"+file));

在这一行我有错误

getActivity().getBaseContext() 我认为必须有合适的东西

4

1 回答 1

0

你最好有一个 ImageButton

                  <ImageButton
                    android:id="@+id/soundbtn"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:gravity="right"
                    android:onClick="onClick"
                    android:paddingLeft="5dp"
                    android:paddingRight="15dp"
                    android:paddingBottom="5dp"
                    android:src="@drawable/audio" />

并且 OnClick 方法必须具有不同的签名

public final void onClick(View v) {

    // todo ............
     }
于 2013-03-08T08:41:07.430 回答