【实例简介】

【实例截图】

【核心代码】

package com.example.weixin_record;

import java.util.ArrayList;

import java.util.List;

import com.nickming.view.AudioRecordButton;

import com.nickming.view.AudioRecordButton.AudioFinishRecorderListener;

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;

public class MainActivity extends Activity {

AudioRecordButton button;

private ListView mlistview;

private ArrayAdapter mAdapter;

private View viewanim;

private List mDatas = new ArrayList();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mlistview = (ListView) findViewById(R.id.listview);

button = (AudioRecordButton) findViewById(R.id.recordButton);

button.setAudioFinishRecorderListener(new AudioFinishRecorderListener() {

@Override

public void onFinished(float seconds, String filePath) {

// TODO Auto-generated method stub

Recorder recorder = new Recorder(seconds, 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> parent, View view,

int position, long id) {

// TODO Auto-generated method stub

// 播放动画

if (viewanim!=null) {//让第二个播放的时候第一个停止播放

viewanim.setBackgroundResource(R.id.id_recorder_anim);

viewanim=null;

}

viewanim = view.findViewById(R.id.id_recorder_anim);

viewanim.setBackgroundResource(R.drawable.play);

AnimationDrawable drawable = (AnimationDrawable) viewanim

.getBackground();

drawable.start();

// 播放音频

MediaManager.playSound(mDatas.get(position).filePathString,

new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) {

viewanim.setBackgroundResource(R.id.id_recorder_anim);

}

});

}

});

}

@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() {

// TODO Auto-generated method stub

super.onDestroy();

MediaManager.release();

}

class Recorder {

float time;

String filePathString;

public Recorder(float time, String filePathString) {

super();

this.time = time;

this.filePathString = filePathString;

}

public float getTime() {

return time;

}

public void setTime(float time) {

this.time = time;

}

public String getFilePathString() {

return filePathString;

}

public void setFilePathString(String filePathString) {

this.filePathString = filePathString;

}

}

}

android+微信语音,android 仿微信按住语音说话(语音聊天)源码下载相关推荐

  1. 最新仿悬赏猫任务平台完整系统源码下载+可封装APP

    正文: 最新仿悬赏猫任务平台完整系统源码下载+可封装APP,新UI的,这前端UI没得说,很好看的. 服务器搭建环境:Linux+Centos7.0以上+宝塔,如果你是虚拟主机的话,那是无法搭建的,亲测 ...

  2. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  3. Android开发之使用TabLayout快速实现选项卡切换功能(附源码下载)

    看下效果图: 先看下布局: TabLayout的简单使用: 当选项卡过少时候设置填充全屏app:tabGravity="fill"设置下面切换选项卡的小滑片颜色app:tabInd ...

  4. python小程序贪吃蛇_微信小程序实现的贪吃蛇游戏【附源码下载】

    本文实例讲述了微信小程序实现的贪吃蛇游戏.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: 界面布局 pages/snake/snake/snake.wxml: snake 得分 ...

  5. android视频聊天源码下载(wifi)

    原网址:http://www.haolizi.net/example/view_3075.html#download [核心代码] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  6. Android开发视频教学第一季(1-16集)视频源码下载

    [Android开发视频教学].01_01_Android平台一日 http://android.itmdc.com/forum.php?mod=viewthread&tid=45 [Andr ...

  7. Android开发视频教学第一季(17-34集)视频源码下载

    [Android开发视频教学].01_17_调试程序 http://www.apkbus.com/android-95481-1-1.html [Android开发视频教学]01_18_文件下载  h ...

  8. Android 音视频深入 六 使用FFmpeg播放视频(附源码下载)

    本篇项目地址,求star https://github.com/979451341/Audio-and-video-learning-materials/tree/master/FFmpeg%E6%9 ...

  9. asp源码demo下载:微信公众号支付企业付款到零钱功能asp源码下载案例

    最近接到一个开发需求,一个企业想用微信支付里面的,企业付款到零钱功能,利用此功能来给用会发红包,因为微信支付里的红包功能一次要付款1块钱,太多,所以他想利用此功能来发红包,这样红包金额可以低到每次3角 ...

最新文章

  1. 深度学习与机器学习的思考
  2. Python_note7 文件和数据格式化+wordcloud库
  3. matlab保存数据
  4. Class对象和Java反射机制
  5. 图解分布式架构的演进过程
  6. iphone闪退修复工具_支持iOS13~13.3越狱工具发布(附下载地址)
  7. 网站白痴的 ASP.NET website 学习日志
  8. ios 获取是否静音模式_高效人士进阶-IOS
  9. python经典题库及答案文库_Python100经典练习题
  10. SpringCloud Alibaba Nacos作为配置中心(三)----------yml格式配置文件
  11. 关于一个自制练字脚本
  12. 开源项目—swift开发记事本APP
  13. uni-app 加入logo.png
  14. 系统架构师(十)设计模式
  15. R包SangerSeqR处理ab1数据
  16. 【重识云原生】计算第2.6节——裸金属方案
  17. Android View学习笔记(三):Scroller的原理剖析及使用(上)
  18. 【百度群面】2017年春招-实习产品经理-群面复盘
  19. el-upload在表单循环中,实现选择,删除,拖拽,并且和表单数组对上
  20. android studio提示HAXM device is not found或者could not start avd

热门文章

  1. Vue-Vnode类型
  2. Linux下的关闭防火墙
  3. 白盒测试——NextDate函数测试(基本路径覆盖法)
  4. 详解mysql备份恢复的三种实现方式
  5. 计算机反复几次才能启动,电脑连续开机几次才能启动怎么办?
  6. Access数据库——Cookie注入
  7. HDFS集群内文件移动的Java实现
  8. Shell脚本实现自动检测/配置/开启/关闭redis后台服务
  9. java 初始化object_Java对象初始化详解
  10. io复用相对于多进程、多线程的优势