audio.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // 全局音频背景播放状态管理模块
  2. const audioModules={
  3. namespaced: true,
  4. state:{
  5. show:false,//是否显示音频弹窗
  6. showBig:false,//显示大弹窗
  7. list:[],//[{url:音频地址,time:音频时长,title:音频标题,}]
  8. index:0,//当前是播放第几个
  9. reportId:0,//当前是哪个报告的音频
  10. voiceId:0,//当前是哪个语音播报的音频
  11. questionId:0,//当前是哪个问答的音频
  12. paused:true,//当前是否音频正在播放 true暂停状态
  13. curTime:0,//当前正在播放的音频播放的时间
  14. recordId:0,//播放记录id
  15. lastType:0,//上次播放的是那种的音频,用于更新媒体播放记录时长中的source
  16. startTime:0,//音频开始播放时间
  17. },
  18. mutations: {
  19. addAudio(state,e){
  20. state.show=true
  21. state.list=e.list
  22. state.index=0
  23. state.reportId=e.reportId||0
  24. state.voiceId=e.voiceId||0
  25. state.questionId=e.questionId||0
  26. state.startTime=e.startTime||0
  27. },
  28. updateAudioIndex(state,e){
  29. state.index=e
  30. },
  31. // 音频状态
  32. updateAudioPause(state,e){
  33. state.paused=e
  34. },
  35. // 更新音频播放进度
  36. updateAudioTime(state,e){
  37. state.curTime=e
  38. },
  39. removeAudio(state,e){
  40. state.show=false
  41. state.list=[]
  42. state.index=0
  43. state.reportId=0
  44. state.voiceId=0
  45. state.questionId=0
  46. state.paused=true
  47. },
  48. //显示弹窗
  49. showPopAudio(state){
  50. state.show=true
  51. },
  52. showBig(state,e){
  53. state.showBig=e
  54. },
  55. // 关闭弹窗
  56. closePopAudio(state){
  57. state.show=false
  58. },
  59. // 设置播放记录id
  60. addAudioRecordId(state,e){
  61. state.recordId=e.recordId
  62. state.lastType=e.source
  63. }
  64. }
  65. }
  66. export default audioModules;