如图怎么操作,怎样做微信营销语音录音文件分享。

心得,问题分享,简单写写~~
微信开发-关于分享朋友&朋友圈以及录音功能
前两天刚整理了一个关于微信开发录音功能的开发步骤,网上这方面资料已经很多了,写下来就当作自己的笔记。
首先需要在微信公众号中进行配置(其中Token为自定义项)
二. 在配置的域名文件夹下放置checkwei.php文件,用来验证配置是否成功。如下:
header('Content-type:text');
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
$wechatObj-&valid();
$wechatObj-&responseMsg();
class wechatCallbackapiTest
public function valid()
$echoStr = $_GET["echostr"];
if($this-&checkSignature()){
header('content-type:text');
echo $echoS
private function checkSignature()
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
三.配置js接口安全域名,配置后公众号开发者可在该域名下调用微信开放的JS接口
按照提示进行第三部操作:
四.准备jssdk文件,现已经整理出一个分享的js_sdk包,所以前端同事在做的项目中直接引入这个封装好的包就行,jssdk包无需做任何修改!
(1)前端同事写的页面后缀多为.html或.shtml文件,需将页面的后缀改为.php ,因为在页面中需要嵌入PHP的代码,若是.html,.shtml后缀则无法解析。(该方法比较笨,因为我做的时候用的就是简单的一个页面所以就这样做了)
(2)引入一小段php文件,必须在文件开头引入,因为php规定require一个文件前面不能有任何输出。代码实例如下:
require_once "jssdk.php";
$jssdk=new JSSDK
("wx****************a","86****************************67");
$signPackage =$jssdk-&GetSignPackage();
?&五.这次主要做的是一个关于微信录音,将录音资源从微信服务器下载到本地服务器的一个过程。不过先将获取用户信息这个步骤代码贴出来:
1. https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx***********************291&redirect_uri=http://www.demo.com/index.php/Ch/Cms/Uploadwxvoice/index&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect2.//通过授权获取用户的信息
public function index(){
$appid = "wx*********291";
$secret = "eb************************23eb2";
$code = $_GET["code"];
//使用code换取oauth2的授权access_token
$token_obj = json_decode(file_get_contents('https://api.weixin.qq.com/sns/oauth2/access_token?appid=’.$appid.’ &secret=’.$secret.’ &code='.$code.'&grant_type=authorization_code'));
$access_token = $token_obj-&access_
$openid = $token_obj-&
//使用授权Access Token和openid获取用户信息`
$user_obj = json_decode(file_get_contents('https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'));
//将相关信息存储进session
$_SESSION['openid'] = $user_obj-&
$_SESSION['nickname'] = $user_obj-&
$_SESSION['headimgurl'] = $user_obj-&
$this-&display();
六.接下来可以进行调用接口开发。首先配置config项,注册需要调用的接口,
注意:需要先引入微信js文件
//微信分享
// var share_image = "";
// var share_link = "";
// var share_desc = '';
// var share_title = '部落PK联盟';
wx.config({
debug: false,
appId: '&?php echo $signPackage["appId"];?&',
timestamp: &?php echo $signPackage["timestamp"];?&,
nonceStr: '&?php echo $signPackage["nonceStr"];?&',
signature: '&?php echo $signPackage["signature"];?&',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareAppMessage',//分享朋友
'onMenuShareTimeline',///分享朋友圈
'startRecord',//开始录音
'stopRecord',//停止录音
'onVoiceRecordEnd',//监听录音自动停止接口
'playVoice',//播放录音
'pauseVoice',//暂停云隐接口
'stopVoice',//停止播放
'onVoicePlayEnd',//
'uploadVoice',//上传语音
'downloadVoice'//下载语音
wx.ready(function () {
wx.onMenuShareTimeline({
title:' ',//标题
link:'',//链接
imgUrl:'',//图片
success:function(){
cancle:function(){
wx.onMenuShareAppMessage({
title:' ',
desc:' ',//描述
imgUrl:'',
type:'',//分享类型music
不填默认是link
dataUrl:'',//如过类型是music
需要填写链接
success:function(){
cancle:function(){
if(!localStorage.rainAllowRecord || localStorage.rainAllowRecord !== 'true'){
wx.startRecord({
success: function(){
localStorage.rainAllowRecord = 'true';
wx.stopRecord();
cancel: function () {
alert('用户拒绝授权录音');
// 4 音频接口
// 4.2 开始录音
document.querySelector('#startRecord').onclick = function () {
START = new Date().getTime();
recordTimer = setTimeout(function(){
wx.startRecord({
success: function(){
localStorage.rainAllowRecord = 'true';
alert('true');
cancel: function () {
alert('用户拒绝授权录音');
var voice = {
localId: '',
serverId: ''
// 4.3 停止录音
document.querySelector('#stopRecord').onclick = function () {
END = new Date().getTime();
if((END - START) & 300){
START = 0;
//小于300ms,不录音
clearTimeout(recordTimer);
wx.stopRecord({
success: function (res) {
voice.localId = res.localId;
//uploadVoice();
fail: function (res) {
alert(JSON.stringify(res));
// 4.4 监听录音自动停止
wx.onVoiceRecordEnd({
complete: function (res) {
voice.localId = res.localId;
alert('录音时间已超过一分钟');
// 4.5 播放音频
document.querySelector('#playVoice').onclick = function () {
if (voice.localId == '') {
alert('请先使用 startRecord 接口录制一段声音');
wx.playVoice({
localId: voice.localId
// 4.6 暂停播放音频
document.querySelector('#pauseVoice').onclick = function () {
wx.pauseVoice({
localId: voice.localId
// 4.7 停止播放音频
document.querySelector('#stopVoice').onclick = function () {
wx.stopVoice({
localId: voice.localId
// 4.8 监听录音播放停止
wx.onVoicePlayEnd({
complete: function (res) {
alert('录音(' + res.localId + ')播放结束');
// 4.8 上传语音
document.querySelector('#uploadVoice').onclick = function () {
if (voice.localId == '') {
alert('请先使用 startRecord 接口录制一段声音');
wx.uploadVoice({
localId: voice.localId, // 需要上传的音频的本地ID,由stopRecord接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回音频的服务器端ID
alert(serverId);
url: '/index.php/Ch/Cms/Uploadwxvoice/upload',//通过ajax请求后台进行语音资源向本地服务器下载的操作
type: 'POST',
data : { serverId : serverId },
dataType: "html",
success: function (data) {
alert('OK');
console.log(data);
error: function (xhr, errorType, error) {
console.log(error);
// 4.9 下载语音
document.querySelector('#downloadVoice').onclick = function () {
if (voice.serverId == '') {
alert('请先使用 uploadVoice 上传声音');
wx.downloadVoice({
serverId: voice.serverId,
success: function (res) {
alert('下载语音成功,localId 为' + res.localId);
voice.localId = res.localId;
wx.error(function (res) {
alert(res.errMsg);
七.第六步中的 Uploadwxvoice()
方法代码如下:
//上传操作,将微信服务器上的文件下载到本地服务器
public function upload(){
$model = M('wxly');
//media_id(serverId)为微信jssdk接口上传后返回的媒体id
$media_id = $_POST['serverId'];
$token_data = json_decode(file_get_contents("./luyin/access_token.json"));
$access_token = $token_data-&access_
$path = "./Wxupload/";
//保存路径,相对当前文件的路径
if(!is_dir($path)){
mkdir($path);
//微 信上传下载媒体文件
$url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$media_id}";
$filename = $media_id.".amr";//下载下来的文件名字,前缀可自定义,在此步骤后可将下载的资源上传七牛云进行转码为 .MP3 再次下载操作,功能不需要可忽略
$filepath = $path.$
ob_start();
readfile($url);
= ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp = fopen($path."/".$filename, 'a');
fwrite($fp, $img);
fclose($fp);
$data['name'] = $
$data['phone'] = $
$data['source'] = $
$data['attachment'] = $
$data['zattachment'] = $
$data['openid'] = $_SESSION['openid'];
$data['nickname'] = $_SESSION['nickname'];
$data['headimgurl'] = $_SESSION['headimgurl'];
$data['status'] = 0;
$data['writetime'] = time();
// 保存当前数据对象
if ($result = $model-&add($data)) { //保存成功
echo 'uploadok';
echo 'uploaderror';
//echo json_encode($arr);
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!经验4292 米
在线时间220 小时
版本8.6.15
机型未知设备
签到次数234
MIUI版本8.6.15
Samsung I9100
微信在播放语音后发送的录音文件声音小的可怜!即使在录音的时候喊破嗓子也没有用,但是返回微信主栏目后再次进入会话后发送的录音声音就正常,也就是说只要不播放任何文件发送出去的录音文件永远都正常,但是只要播放一次后发出去的录音声音就小的可怜,我现在是听一次,返回一次,在进去发出去一个录音,如此循环,哎~别给我说什么卸载重新装,没有用的,我都双清了,还是这样不知道为什么
遇到的人越多,MIUI开发组会越关注
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验4292 米
在线时间220 小时
版本8.6.15
机型未知设备
签到次数234
MIUI版本8.6.15
难道只有我一个人是这样吗
经验4292 米
在线时间220 小时
版本8.6.15
机型未知设备
签到次数234
MIUI版本8.6.15
通过手机发布
没人搭理吗
经验37743 米
威望282 米
在线时间2270 小时
版本8.6.28
MIUI→云枫
机型未知设备
签到次数214
MIUI版本8.6.28
表述简洁点,最好是只说明操作步骤,谢谢
经验4292 米
在线时间220 小时
版本8.6.15
机型未知设备
签到次数234
MIUI版本8.6.15
好吧,微信来信提示音-查看-播放收到的语音信息-按住说话(此时录音声音非常小,录音的声音振幅画面基本在最下面不动)-松手发送 (播放自己刚才发送的语音文件 声音非常的小) 但是在不播放收到的信息(或文字信息)发送出去我的语音信息声音音量非常的正常,想要播放后回复的信息音量正常,必须返回后再次进去直接录音,音量就正常了!看明白了吗?
经验37743 米
威望282 米
在线时间2270 小时
版本8.6.28
MIUI→云枫
机型未知设备
签到次数214
MIUI版本8.6.28
刚刚测试都正常啊,不管是先发送语音,还是收到消息之后发送都没有问题,
经验4292 米
在线时间220 小时
版本8.6.15
机型未知设备
签到次数234
MIUI版本8.6.15
RE: 微信在播放语音后发送的录音文件声音小的基本听不见!
经过我摸索测试,结果是这样的,在播放信息后开始录音9100的下面麦克风是不工作的,上面的麦克风工作,但是在收到文字信息或者不播放的时候下面的麦克风工作而上面的没用,就是这个结论,没有任何差错,请问为什么?你在试试
经验644 米
在线时间102 小时
版本4.3.21
积分 782, 距离下一级还需 1218 积分
积分 782, 距离下一级还需 1218 积分
机型Samsung Galaxy Note 2
签到次数47
MIUI版本4.3.21
同样问题,最近的版本,
经验644 米
在线时间102 小时
版本4.3.21
积分 782, 距离下一级还需 1218 积分
积分 782, 距离下一级还需 1218 积分
机型Samsung Galaxy Note 2
签到次数47
MIUI版本4.3.21
最近的版本经常这样,微信说话声音变得很小,对方根本听不到,必须重启微信才行,,重启后第一次肯定没有问题,多发几次或者给几个人分别发送就有问题了,
在线时间2 小时
积分 29, 距离下一级还需 21 积分
积分 29, 距离下一级还需 21 积分
通过手机发布
你好我也在使用9100的手机,我现在使用微信的问题和你描述的一摸一样,还不知道怎么样解决,请问这个问题你现在解决了吗?
我正在使用的固件版本是国行4.1.2 ZCLSH,貌似在之前使用港行4.1.2 ZSLSH 的时候没有发现这个问题。
MIUI 10专属勋章
参加回帖活动
MIUI真实车主勋章
参与回帖活动
MIUI3亿用户纪念勋章
参与回帖活动
感恩节勋章
参与回帖活动
万圣节勋章
参加回帖活动
MIUI七周年
MIUI 9纪念勋章
新版论坛APP
更新新版APP
小米7周年勋章
2017米粉节晒单赢专属勋章
“澎湃S1 ”芯片纪念勋章
参与活动回帖可得
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
MIUI三周年
MIUI三周年纪念勋章
百万壁纸评审纪念勋章
已关注极客秀微信
已关注微信
MIUI6 荣誉勋章
MIUI6 荣誉勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
MIUI六周年
MIUI六周年纪念勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号帖子很冷清,卤煮很失落!求安慰
手机签到经验翻倍!快来扫一扫!
微信语音聊天可以录音吗?
1338浏览 / 9回复
就是打电话的时候可以像打电话那样把两方的語音录下来吗?
现在一般都用微信语音聊天,都不打电话了,有些东西想像打电话那样录下来,留作证据,能够实现吗?
微信语音聊天不支持录音的呢,手机是支持通话录音的呢,可以使用呢。
微信应用目前不支持录音的,因为微信通话过程麦克风被占用,应该也没法使用第三方APP录音
刚少1981 发表于
目前不行吧
这个的确需要后续微信官方本身兼容调整,不仅是录音包括微信数据等都有微信本身的安全保护哈^_^。
好安静呀,顶顶帖子
哥的足迹将踏遍二楼!
帖子不错 顶一个
强力支持!!!!!!!!!!!
可能感兴趣的板块:
用户名/注册邮箱/注册手机号
其他第三方号登录微信怎么给别人传录音_百度知道
微信怎么给别人传录音
我有更好的答案
给别人传录音的方法:1、打开系统应用【文件管理】,选择【分类】-【录音】。2、在想要分享的录音文件前【勾选√】-点击【分享】-选择【添加到微信收藏】。3、登陆微信-选择【我】-【收藏】,在【我的收藏】中选择要分享的文件【长按】-点击【转发】。4、选择要发送的好友,选择好友后发送即可。
采纳率:80%
首先,给大家先介绍一下,怎么使用微信语音聊天功能,用户先切换到对讲模式,按住对讲按钮不放,开始录音说话。轻开按钮后,语音结束,并且会发送到对方手机。
本回答被提问者和网友采纳
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 微信语音录音 的文章

 

随机推荐