1.1.5 • Published 9 years ago

react_native_sound_chat v1.1.5

Weekly downloads
2
License
ISC
Repository
github
Last release
9 years ago

react-native-sound-chat

仿微信语音聊天,支持android,当前版本1.0.8。

1.功能

1)android客户端仿微信语音的录制,停止录制,播放,停播,上传与下载。

2)android客户端多图片同时上传。

3)相关文件操作:删除本地录音文件,判断录音文件是否存在本地。

2.安装配置

安装npm包

$ npm install --save react_native_sound_chat

添加权限Androidmanifast.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

手动

1) android/app/src/main/包名/MainApplication.java

import com.sound.chat.SoundPackage;//add this
...
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new SoundPackage()//add this
    );
}
...

2) android/setting.gradle

include ':react_native_sound_chat'
project(':react_native_sound_chat').projectDir = new File(rootProject.projectDir, '../node_modules/react_native_sound_chat/android')

3) android/app/build.gradle

dependencies {
  ...

compile project(':react_native_sound_chat')//add this ... }

3.方法及使用示例

引入

import SoundModule from 'react_native_sound_chat';

initApi(uploadServerUrl)

参数:uploadServerUrl:上传服务器的地址。

功能:该方法必须在开始录制之前调用,除初始化上传地址之外还会初始化原生层环境。

示例:

SoundModule.initApi(uploadServerUrl);
	

recordStart()

功能:开始录制,录制的音频文件格式为amr,会保存在本机redpack文件夹下。

示例:

SoundModule.recordStart();

recordStop(callback)

参数:callback回调函数,返回字符串包含时长和本地存储路径,两者用逗号隔开。

功能:停止录制。

示例:

var fileName,duration;//全局保存
SoundModule.recordStop(function(data){
	console.log(data);
	var arr=data.split(',');
	duration=arr[0];//保存时长
	fileName=arr[1];//保存本地路径
});

recordUpload()

功能:上传刚刚录制好的音频文件。

示例:

SoundModule.recordUpload();

recordPlay(filePath)

参数:filePath:本地文件路径。

功能:播放音频。

示例:

SoundModule.recordPlay('/storage/emulated/0/redpack/20161207_155930.amr');

recordStopPlay()

功能:停止播放。

示例:

SoundModule.recordStopPlay();

fileDelete(filePath)

参数:filePath:本地文件路径。

功能:删除本地音频文件。

示例:

SoundModule.fileDelete("/storage/emulated/0/redpack/20161207_155930.amr");

recordDownload(url)

参数:url:音频的url地址。

功能:音频文件下载。

示例:

SoundModule.recordDownload("http://14.14.14.56:8888/amr/9ae1718c7b4eeec134a32a50.amr");

fileIsExits(filePath,callback)

参数:filePath:本地路径,callback:回调函数,返回布尔值,true表示存在。

功能:判断音频是否存在本地。

示例:

SoundModule.fileIsExits('/storage/emulated/0/DCIM/Camera/1.jpg',function(data){
		console.log(data)//true||false
})

SoundModule.imgsUpload(files,imgType);

参数:files:json数组,每一个json对象包含图片服务器地址imgServer和filePath本地文件路径两个参数,imgType:图片类型标志。

功能:上传图片组。

示例:

var files=[
  {'imgServer':uploadServerUrl,'filePath':'/storage/emulated/0/DCIM/Camera/1.jpg'},
]
SoundModule.imgsUpload(files,'chatImg');
1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago