audioBg.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // 全局音频背景播放状态管理模块
  2. const audioModules = {
  3. namespaced: true,
  4. state: {
  5. show: false, //是否显示音频弹窗
  6. list: [], //[{url:音频地址,time:音频时长,title:音频标题,}]
  7. activityId: 0, //当前是哪个报告的音频
  8. reportId: 0,
  9. paused: true, //当前是否音频正在播放 true暂停状态
  10. curTime: 0, //当前正在播放的音频播放的时间
  11. activityTitle: "",
  12. multiple: 1, //倍数
  13. parseIntShow: false, //
  14. isDragSlide:false,//是否在拖动进度条
  15. isAudioEnded:false, //
  16. },
  17. mutations: {
  18. addAudio(state, payload) {
  19. state.show = true;
  20. state.list = payload.list;
  21. state.activityTitle = payload.activityTitle;
  22. state.activityId = payload.activityId || 0;
  23. state.reportId = payload.reportId || 0;
  24. },
  25. // 音频状态
  26. updateAudioPause(state, payload) {
  27. state.paused = payload;
  28. },
  29. setMultiple(state, payload) {
  30. state.multiple = payload;
  31. },
  32. // 更新音频播放进度
  33. updateAudioTime(state, payload) {
  34. state.curTime = Number(payload);
  35. },
  36. //删除当前音频播放
  37. removeAudio(state, payload) {
  38. state.show = false;
  39. state.list = [];
  40. state.activityId = 0;
  41. state.reportId = 0;
  42. state.curTime = 0;
  43. state.paused = true;
  44. },
  45. parseIntAudio(state, payload) {
  46. state.parseIntShow = payload;
  47. },
  48. setSlide(state, payload){
  49. state.isDragSlide = payload;
  50. },
  51. setAudioEnd(state, payload) {
  52. state.isAudioEnded = payload;
  53. }
  54. },
  55. };
  56. export default audioModules;