2011-03-28 15 views
0

我一直在andriod開發人員網站上關注此代碼。此代碼在網格中顯示圖片。我現在想要做的是每次用戶點擊圖像時播放不同的音色。我怎樣才能做到這一點?如何在Grid View中使用此代碼播放音頻

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
GridView gridview = (GridView) findViewById(R.id.gridview); 
gridview.setAdapter(new ImageAdapter(this)); 

gridview.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View v, 
int position, long id) { 
// 
Intent myIntent = null; 
if(position==0){ 
//Play some sound... 
//MediaPlayer sound= MediaPlayer.create(this,R.raw.alif); 
// sound.start(); 

} 
if(position==1){ 

Toast.makeText(Test.this, "" + "Baa",Toast.LENGTH_SHORT).show(); 
//Want to play sound here 
} 
} 

}); 
} 

當我添加以下代碼:我得到一個編譯錯誤

的方法,該類型的MediaPlayer不適用的參數(新AdapterView.OnItemClickListener創建(上下文,INT)(){ },INT)

if(position==0){ 
    MediaPlayer sound= MediaPlayer.create(this,R.raw.alif); 
    sound.start(); 
} 
+0

什麼沒有關於它的工作?您的MediaPlayer線條已被註釋掉(並且格式不正確,供我們閱讀)。這些行會導致崩潰嗎?什麼都沒有發生?給我們一個更好的描述你的場景。 – LeffelMania 2011-03-28 19:09:36

回答

0
 button.setOnClickListener(
      new View.OnClickListener() 
      { 
       @Override 
       public void onClick(View v) 
       { 
        if (mPlayer == null) mPlayer = new MediaPlayer(); 
        else mPlayer.stop(); 


        try 
        { 
         mPlayer.setVolume((float)0.25 * n, (float)0.25 * n); 
         mPlayer.reset(); 

// in here your sounds would be listed in an array - pick a random file each time. 
         mPlayer.setDataSource(strSoundFile); 
         mPlayer.prepare(); 
         mPlayer.start(); 
        } 
        catch (IllegalArgumentException e) 
        { 

         myViewUpdateHandler.sendMessage(msg); 

         e.printStackTrace(); 
        } catch (IllegalStateException e) 
        { 
         myViewUpdateHandler.sendMessage(msg); 

         e.printStackTrace(); 
        } catch (IOException e) 
        { 
         myViewUpdateHandler.sendMessage(msg); 

         e.printStackTrace(); 
        } 

       } 
      }); 
+0

if(position == 0){ \t \t \t \t \t \t MediaPlayer bismiallh2 = MediaPlayer.create(this,R.raw.alif); \t \t \t \t bismiallh.start(); \t \t \t \t} – user680702 2011-03-29 04:11:30

0
final MediaPlayer sound= MediaPlayer.create(this,R.raw.alif); 

Intent myIntent = null; 
if(position==0){ sound.start();}