`
龙哥IT
  • 浏览: 237656 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

微信发送语音

 
阅读更多
package com.weixin.android;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.weixin.android.view.AudioRecorderButton;
import com.weixin.android.view.AudioRecorderButton.AudioFinishRecorderListener;

public class MainActivity extends Activity {

	private ListView mListview;
	private AudioRecorderButton mAudioRecorderButton;
	
	private ArrayAdapter<Recorder> mAdapter;
	private List<Recorder> mDatas = new ArrayList<Recorder>();
	
	private View animView;
	private static int mIndex =-1;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mListview = (ListView) findViewById(R.id.listview);
		mAudioRecorderButton = (AudioRecorderButton) findViewById(R.id.button);
		
		mAudioRecorderButton.setAudioFinishRecorderListener(new AudioFinishRecorderListener() {
			
			@Override
			public void onFinish(float secends, String filePath) {
			
				Recorder recorder = new Recorder(secends, filePath);
				mDatas.add(recorder);
				mAdapter.notifyDataSetChanged();
				mListview.setSelection(mDatas.size()-1);
			}
		});
		
		mAdapter = new RecorderAdapter(this, mDatas);
		mListview.setAdapter(mAdapter);
		
		mListview.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View view, int arg2,
					long arg3) {
				
				
				
				if (animView !=null) {
					animView.setBackgroundResource(R.drawable.adj);
					animView=null;
				}
				// 播放动画,
				animView =view.findViewById(R.id.id_recorder_anim);
				animView.setBackgroundResource(R.drawable.play_anim);
				AnimationDrawable anim =(AnimationDrawable) animView.getBackground();
				
				if (mIndex==arg2) {
					MediaManager.relese();
					animView.setBackgroundResource(R.drawable.adj);
					mIndex=-1;
				}else{
				anim.start();
				//播放音频
				MediaManager.playSound(mDatas.get(arg2).filePath,new MediaPlayer.OnCompletionListener() {
					@Override
					public void onCompletion(MediaPlayer arg0) {
						animView.setBackgroundResource(R.drawable.adj);
					}
				});
				mIndex=arg2;
				}
			}
		});
	}

	
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		MediaManager.pause();
	}
	
	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		MediaManager.resume();
	}
	
	@Override
	protected void onDestroy() {
		super.onDestroy();
		MediaManager.relese();
	}
	
	
	class Recorder {

		float time;
		String filePath;

		public Recorder(float mtime, String mfilePath) {
			super();
			this.time = mtime;
			this.filePath = mfilePath;
		}

		public float getTime() {
			return time;
		}

		public void setTime(float time) {
			this.time = time;
		}

		public String getFilePath() {
			return filePath;
		}

		public void setFilePath(String filePath) {
			this.filePath = filePath;
		}
	}

}

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics