最后再MainActivity里,我们集成播放器,设置ListView。代码如下:
1 package com.fuly.irecoder; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.fuly.util.MyAdapter; 7 import com.fuly.util.Recoder; 8 import com.fuly.util.RecoderButton; 9 import com.fuly.util.RecoderButton.RecoderButtonListener; 10 import com.fuly.util.RecoderPlayer; 11 12 import android.media.MediaPlayer; 13 import android.os.Bundle; 14 import android.app.Activity; 15 import android.view.Menu; 16 import android.view.View; 17 import android.widget.AdapterView; 18 import android.widget.AdapterView.OnItemClickListener; 19 import android.widget.ArrayAdapter; 20 import android.widget.ListView; 21 22 public class MainActivity extends Activity { 23 24 25 private ListView mListView ; 26 private MyAdapter mAdapter; 27 private List<Recoder> mDatas = new ArrayList<Recoder>(); 28 29 private RecoderPlayer mPlayer; 30 31 32 protected void onCreate(Bundle savedInstanceState) { 33 super.onCreate(savedInstanceState); 34 setContentView(R.layout.activity_main); 35 36 mListView = (ListView) findViewById(R.id.rec_listview); 37 RecoderButton button = (RecoderButton) findViewById(R.id.btn_recoder); 38 39 button.setOnRecoderButtonListener(new RecoderButtonListener() { 40 41 42 public void onFinish(int mTime, String filePath) { 43 44 Recoder recoder = new Recoder(mTime,filePath); 45 46 mDatas.add(recoder); 47 48 mAdapter.notifyDataSetChanged();//通知状态发生改变,即有新数据添加进来 49 50 //设置ListView为最后一一项 51 mListView.setSelection(mDatas.size()-1); 52 53 54 } 55 }); 56 57 mAdapter = new MyAdapter(this, mDatas); 58 mListView.setAdapter(mAdapter); 59 60 61 mListView.setOnItemClickListener(new OnItemClickListener() { 62 63 public void onItemClick(AdapterView<?> parent, View view, 64 int position, long id) { 65 66 67 //播放音频 68 69 mPlayer = new RecoderPlayer(); 70 71 //OnCompletionListener是播放结束的器 72 mPlayer.playSound(mDatas.get(position).filePath); 73 74 75 76 } 77 }); 78 79 } 80 81 82 @Override 83 protected void onPause() { 84 RecoderPlayer.pause(); 85 super.onPause(); 86 } 87 88 @Override 89 protected void onRestart() { 90 RecoderPlayer.reset(); 91 super.onRestart(); 92 } 93 94 @Override 95 protected void onDestroy() { 96 RecoderPlayer.release(); 97 mDatas.clear(); 98 super.onDestroy(); 99 } 100 101 102 }
至此,我们的整个项目算是完成了。赶快运行一下,看看效果吧。如果对界面不满意微信语音聊天功能,可以自己再调调哦。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-124874-2.html
呵呵三个霉菌的狗
老兄这话在理
大家觉得你非常好