winnnnnnnnner
winnnnnnnnner
  • 发布:2017-05-24 16:07
  • 更新:2017-05-24 16:07
  • 阅读:1454

【已解决】player.setRoute(ROUTE_EARPIECE) 无效

分类:Native.js

[问题代码]

var p = plus.audio.createPlayer(path);  
p.setRoute( plus.audio.ROUTE_EARPIECE );  
p.play( function () {  
    alert( "Audio play success!" );  
}, function ( e ) {  
    alert( "Audio play failed: " + e.message );  
} );

找到问题原因了,初始化player的时候,不能设置,设置会出问题,只有在p.paly之后,设置p.setRoute( plus.audio.ROUTE_EARPIECE )才生效。

解决方法:模拟微信手机贴近,自动切换听筒播放

player.play(function()  
                        {  
                            isPlaying = false;  
                            playState.html('点击播放');  
                            plus.proximity.clearWatch(watchProximity);  
                        }, function(e)  
                        {  
                            isPlaying = false;  
                            playState.html('点击播放');  
                            plus.nativeUI.toast("语音无法播放", { duration: "long" });  
                            plus.proximity.clearWatch(watchProximity);  
                        });  
                        watchProximity = plus.proximity.watchProximity(function(d) //监听设备距离  
                            {  
                                if(d == 0)  
                                {  
                                    player.setRoute(plus.audio.ROUTE_EARPIECE);   
                                }  
                                else{  
                                    player.setRoute(plus.audio.ROUTE_SPEAKER);  
                                }  
                            },  
                            function(e)  
                            {  
                                console.log("Error: " + e.message);  
                            });

希望官方文档能够修改一下。
http://www.html5plus.org/doc/zh_cn/audio.html#plus.audio.AudioPlayer.setRoute
结贴

2017-05-24 16:07 负责人:无 分享
已邀请:

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