美文网首页我爱编程
angular-语音文件播放

angular-语音文件播放

作者: 秋秋秋web | 来源:发表于2017-04-06 10:39 被阅读462次

非angular情况单数据播放:

var audio =document.createElement("audio");

audio.src=me.global.res+audioObj.src; 

//audioObj是方法传入的参数对象,me.global.res是音频前缀

audio.play();

audio.addEventListener("play",

function() {//监听开始和结束

$(".voice span").addClass("audio-play");

},false);

audio.addEventListener("ended",function() {

$(".voice span").removeClass("audio-play").addClass("voice3");  //"audio-play"和“voice3”分别是播放时候的动画和播放(默认)结束的动画

},false)

angular数据绑定下播放单个:

showPlayAudio:function(audioObj){

varaudio =document.createElement("audio");

audio.src=me.global.res+audioObj.src;;

audio.play();

audio.addEventListener("play",

function() {//监听暂停

audioObj.audioStar=true;

that.$scope.$apply();

},false);

audio.addEventListener("ended",function() {

audioObj.audioStar=false;

$(".voice span").removeClass("audio-play");

that.$scope.$apply();

},false)

},

addEventListener脱离了ng的监管,属于临时工性质,故ng底层不会自动执行脏检测更新视图,需要手动$scope.$apply()强制执行脏检测刷新视图

控制css样式绑定在传过来的对象audioObj上,即audioStar

HTML部分:

<div ng-repeat = "d in audioList">

<p class="voice" ng-click="showPlayAudio(d)">

<span ng-class="{'voices':!d.audioStar,'audio-play':d.audioStar}"></span><i class="voice1"></i>

</p>

</div>

css部分:

.voice{width:100px;height:20px;margin-top:5px;line-height:20px;border:1px solid#E6E6E6;background-color:#f8f8f8;border-radius:10px;boxsizing: border-box;}

.audio-play{position: absolute;left:6px;animation:mymove1s infinite;-moz-animation:mymove1s infinite;/* Firefox */-webkit-animation:mymove1s infinite;/* Safari and Chrome */-o-animation:mymove1s infinite;/* Opera */}

@keyframesmymove{//注意兼容性

0%{top:7px;width:2px;height:3px;background:url("../images/voice_one.png")no-repeat;}

50%{top:4px;width:6px;height:9px;background:url("../images/voice_two.png")no-repeat;}

100%{top:2px;width:9px;height:13px;background:url("../images/voice_three.png")no-repeat;}

}

.voice3{position: absolute;left:6px;top:2px;width:9px;height:13px;background:url("../images/voice_three.png")no-repeat;}

如有问题欢迎指正

相关文章

  • angular-语音文件播放

    非angular情况单数据播放: var audio =document.createElement("audio...

  • vue 播放.amr语音文件

    别人在体验人间的爱,而我在体验人间的冷暖 我的github: 李大玄[https://github.com/lid...

  • PHP使用讯飞合成语音

    项目中用到语音提示功能,需要使用讯飞生成对应的语音文件,根据后台返回的格式进行播放语音文件,这边记录一下需要注意的...

  • 语音播放

    1、结构(字符串拼接的) 2、方法 $(function () { //播放完毕 let ...

  • TXT文件怎么转成语音播放

    大家在办公中,一般情况下,什么文件格式方便就用什么文件格式,就比如说有时候需要用到语音播放一段文件的时候,就需要把...

  • TTS

    · TTS · Text To Speech · 文本转语音 · 语音播报类 · 生成播放的内容 · 实现播放 ·...

  • vue 移动端ios语音播放WAV格式语音文件

  • iOS推送实现语音播报实践

    一、实现思路 1、应用活跃时,合成语音,播放语音 2、应用被杀死,唤醒应用,合成语音,播放语音 二、唤醒应用 1、...

  • jquery微信语音功能

    语音播放使用audioaudio.pause() 停止播放audio.play() 开始播放需要播放图片

  • SPIFLASH播放语音芯片HX8088方案

    前言: 早期的语音芯片。简单一些的都是OTP的语音芯片,只能播放低采样率的WAV文件,音质差,存储声音类容也是极其...

网友评论

    本文标题:angular-语音文件播放

    本文链接:https://www.haomeiwen.com/subject/itifattx.html