Tuesday 15 April 2014

Playing a sentence in android MediaPlayer -


I have an array of sound file names I want to play media player after another. However, when they are looping, they all play together? {Last ArrayList & LT; MediaPlayer & gt solution to this

  public static void PlaySentence (; string & gt words in context ctx, ArrayList of & lt) do; Players = new arrivals & lt; Media player & gt; (); (String t: word) {int sound_id = ctx.getResources (). GetIdentifier (t, "raw", ctx.getPackageName ()); If (sound_id! = 0) {MediaPlayer newMP = MediaPlayer.create (ctx, sound_id); newMP.setOnCompletionListener (New OnCompletionListener () {@Override public void onCompletion (MediaPlayer mp) {players.remove (mp), if (players.size () & gt; 0) {Log.d ( "Players", "size" + Players (size); players ;get (0) .start ();} mp.release ();}}); Players.add (newmp); }} Players.get (0). Start (); }  itemprop = "text"> 

This code worked for me:

thanks

/ P>
  package com.example.ouio; Import java.io.IOException; Import java.util.ArrayList; Import java.util.list; Import android Media. media Player; Importroid.os.Bundle; Import android App Import android.content.res.AssetFileDescriptor; Public class extends the main activity (private mediaplayer MPlayer; private List & lt; String & gt; mQueuedFiles; @ Override protected void saved create (bundled Instansstet) {Suprknkret (saved Instensstet); setContentView (R. layout.activity_main);} public void Start () {Suprknstart (); MPlayer = new mediaplayer (); MPlayerksetOnCompletionListener (new MediaPlayer.OnCompletionListener () {@Override public void onCompletion (mediaPlayer mp) {println ( " Say OnCompletion Education is "); playNextFile ();}}); mPlayer.release; + do +" "+ Extra): mPlayer.setOnErrorListener (New MediaPlayer.OnErrorListener () {@Override public boolean onError (MediaPlayer mp, what integer extra) {println ( "mediaPlayer error" int (); MPlayer = new mediaplayer (); return back;}});} public void on ontop () {super.onStop (); mPlayer.release ();} private AssetFileDescriptor GetFileForWord (string word) {int sound_id = getResources () getIdentifier (word, "raw", getPackageName ()). Refund Receipts () OpenRawResourceFd (sound_id); } Private Zero placeholdance (list & lt; string & gt; word) {mQueuedFiles = new arreelist & lt; String & gt; (); For (int i = 0; i    

No comments:

Post a Comment