1***@qq.com
1***@qq.com
  • 发布:2020-10-10 16:17
  • 更新:2022-06-16 10:56
  • 阅读:2717

uni-app推送消息语音不能及时播放

分类:uni-app

在收到推送消息时候即时播放,收到就播放,目前只有点击才能播放,收到通知不会播放。

onLaunch: function() {
// console.log('App Launch');

        //#ifdef APP-PLUS    
        var that=this;  
        var info = plus.push.getClientInfo();  
        var clientid = "";  

        let timer = setInterval(() => {  
            if (info.clientid) {  
                clientid = info.clientid;  
                Vue.prototype.clientid=clientid;  
                clearInterval(timer);  
            } else {  
                timer  
            }  
        }, 20);  

        console.log(JSON.stringify(info))  
        // “click”-从系统消息中心点击消息启动应用事件;  
        // “receive”-应用从推送服务器接收到推送消息事件。  
        /* 5+  push 消息推送 ps:使用:H5+的方式监听,实现推送*/  
        plus.push.addEventListener("click", function(msg) {  
            // console.log("click:" + JSON.stringify(msg));  
            console.log(msg);  
            that.openVoice(msg.content);//  

            //这里可以写跳转业务代码  
        }, false);  

        // 监听在线消息事件  
        plus.push.addEventListener("receive", function(msg) {  

            // plus.ui.alert(2);    
            //这里可以写跳转业务代码  
            console.log("recevice:" + JSON.stringify(msg));  
            console.log(msg);  
            that.openVoice(msg.content);//  
        }, false);  

        //#endif   
    },
2020-10-10 16:17 负责人:DCloud_Android_DQQ 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

确认一下,你的意思是 希望 收到通知消息的同时,播放通知消息内的声音?

DCloud_Android_DQQ

DCloud_Android_DQQ

1 支持这个功能。 你的用法不对。
你的问题,其实不是音频无法播放,而是revice事件没有响应

2 有两个前提条件,必须是透传消息类型并且消息体格式要符合触发条件,才能出现 "revice这个事件"。
具体参看5+文档的这部分

3 我刚才测试了 下面的代码 可以正常实现这个功能。

plus.push.addEventListener( "receive", function( msg ) {  
        outSet( "addEventListener00000  ----  receive:" );  
        let p = plus.audio.createPlayer( "http://api.duqingquan.com/examples/1.mp3" );  
        p.play( function () {  
            alert( "Audio play success!" );   
        }, function ( e ) {  
            alert( "Audio play error: " + e.message );   
        } );   

        if ( msg.aps ) {  // Apple APNS message  
            outSet( "接收到在线APNS消息:" );  
        } else {  
            outSet( "接收到在线透传消息:" );  
        }  
        logoutPushMsg( msg );  
    }, false );
  • 1***@qq.com (作者)

    好的谢谢

    2020-10-14 15:12

  • 3***@qq.com

    这个是在线透传,如果app进程被关掉了,怎么监听呢

    2021-04-06 13:48

1***@qq.com

1***@qq.com

使用本地音频,在收到推送消息时候即时播放,收到就播放,
自定义音频后,目前只有点击才能播放,收到通知不会播放。

该问题目前已经被锁定, 无法添加新回复