2012-05-10 42 views
7

Vâng tôi đang cố gắng để thực hiện chức năng cơ bản của ghi âm giọng nói, giống nhưthông báo khi âm thanh được chơi xong

Ghi, chơi/tạm dừng, dừng

i am có thể làm tất cả trong số họ nhưng vấn đề chỉ là làm thế nào tôi có thể nhận được thông báo sau khi âm thanh được hoàn thành chơi. Tôi có nghĩa là nếu tôi chơi một tập tin âm thanh sau đó một khi nó được hoàn thành chơi tôi muốn có một thông báo rằng nó được dừng lại ngay bây giờ.

cho đến nay tôi đã sử dụng

mPlayer.start() // to start the audio 

    mPlayer.stop(); // to stop the audio 

    mPlayer.pause(); //to pause the audio 

tôi chỉ cố gắng để tìm hiểu làm thế nào tôi sẽ biết khi tập tin âm thanh tự động chơi

Trả lời

24

Bạn có thể sử dụng Listener Hoàn thành lớp Media Player để làm xong điều này.

mediaPlayer.setOnCompletionListener(new OnCompletionListener() { 

      public void onCompletion(MediaPlayer mp) { 

       Log.i("Completion Listener","Song Complete"); 
       Toast.makeText(context, "Media Completed", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

Mã sẽ đi đâu? – Si8

+0

trong onCreate() –

+0

Điều này có hiệu quả với các bài hát được phát trực tiếp không? – Adam

5

Cố gắng sử dụng mã này

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 
    <Button id="@+id/cmd_play" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Play the music !!!" 
     /> 
    </LinearLayout> 

đang Hoạt động MusicPlayer

public class MusicPlayer extends Activity { 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 
      setContentView(R.layout.main); 

      // Find the Button from the xml-file. 
      Button cmd_play = (Button)this.findViewById(R.id.cmd_play); 
      cmd_play.setOnClickListener(new OnClickListener(){ 

          @Override 
          public void onClick(View arg0) { 
            MediaPlayer mp = MediaPlayer.create(MusicPlayer.this, 
                R.raw.everlast); 
            mp.prepare(); 
            mp.start(); 
            // i.e. react on the end of the music-file: 
            mp.setOnCompletionListener(new OnCompletionListener(){ 

              // @Override 
              public void onCompletion(MediaPlayer arg0) { 
                // File has ended !!! 

Toast.makeText(context, "Media Completed with Success", Toast.LENGTH_SHORT).show(); 
              } 
            }); 
          } 
      }); 
     } 
    } 

đặt một âm thanh tập tin ở tài sản thư mục

+0

Thật buồn cười, tôi thực sự đã sử dụng mã mà tôi đã tìm thấy và nó hoạt động như một sự quyến rũ. Cảm ơn! – Si8

Các vấn đề liên quan