Skip to content

Instantly share code, notes, and snippets.

@ChandraniChatterjeeMolly
Created March 7, 2017 04:47
Show Gist options
  • Save ChandraniChatterjeeMolly/a3bb342822c8f92bc5149256e4f918af to your computer and use it in GitHub Desktop.
Save ChandraniChatterjeeMolly/a3bb342822c8f92bc5149256e4f918af to your computer and use it in GitHub Desktop.
miwok:PhrasesFragment
package com.example.android.miwok;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import java.util.ArrayList;
/**
* A simple {@link Fragment} subclass.
*/
public class PhrasesFragment extends android.support.v4.app.Fragment {
public PhrasesFragment() {
// Required empty public constructor
}
MediaPlayer mMediaPlayer;
private AudioManager audioManager;
private AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener ;
//release Mediaplayer resources
private void releaseMediaPlayerResource() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
@Override
public void onStop() {
super.onStop();
releaseMediaPlayerResource();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.word_list, container, false);
// Create a list of words
final ArrayList<Word> words = new ArrayList<Word>();
words.add(new Word("Where are you going?", "minto wuksus", R.raw.phrase_where_are_you_going));
words.add(new Word("What is your name?", "tinnә oyaase'nә", R.raw.phrase_what_is_your_name));
words.add(new Word("My name is...", "oyaaset...", R.raw.phrase_my_name_is));
words.add(new Word("How are you feeling?", "michәksәs?", R.raw.phrase_how_are_you_feeling));
words.add(new Word("I’m feeling good.", "kuchi achit", R.raw.phrase_im_feeling_good));
words.add(new Word("Are you coming?", "әәnәs'aa?", R.raw.phrase_are_you_coming));
words.add(new Word("Yes, I’m coming.", "hәә’ әәnәm", R.raw.phrase_yes_im_coming));
words.add(new Word("I’m coming.", "әәnәm", R.raw.phrase_im_coming));
words.add(new Word("Let’s go.", "yoowutis", R.raw.phrase_lets_go));
words.add(new Word("Come here.", "әnni'nem", R.raw.phrase_come_here));
// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The
// adapter knows how to create list items for each item in the list.
WordAdapter adapter = new WordAdapter(getActivity(), words, R.color.category_phrases);
// Find the {@link ListView} object in the view hierarchy of the {@link Activity}.
// There should be a {@link ListView} with the view ID called list, which is declared in the
// word_list.xml layout file.
ListView listView = (ListView) rootView.findViewById(R.id.list);
// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the
// {@link ListView} will display list items for each {@link Word} in the list.
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
releaseMediaPlayerResource();
mMediaPlayer = MediaPlayer.create(getActivity(), words.get(position).getMediaplayerId());
//request audiofocus
audioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
int requestResult = audioManager.requestAudioFocus(mOnAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (requestResult == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
mMediaPlayer.start();
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
releaseMediaPlayerResource();
}
});
}
}
});
return rootView;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment