起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 260769741

[处理中6] de.appplant.cordova.plugin.local-notification 本地通知

[复制链接]

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 13:31:13 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-3-16 11:57
嗯!资源更新也包括mp3这类音频文件的,
必须使用模式1打包!!,模式2有可能会访问网络资源的!


谢谢回复
那么我现在出现的问题是  手机第一次安装app可以播放  更新资源后就播放失败了,重启app也一样
回复 支持 反对

使用道具 举报

发表于 2017-3-16 14:04:27 | 显示全部楼层
260769741 发表于 2017-3-16 13:31
谢谢回复
那么我现在出现的问题是  手机第一次安装app可以播放  更新资源后就播放失败了,重启app也一样 ...

你是模式1打包吗??解压开www资源  看下里面的资源是否有这个视频文件!!!
确定是访问的本地资源,而不是服务器资源吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 14:13:42 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-3-16 14:04
你是模式1打包吗??解压开www资源  看下里面的资源是否有这个视频文件!!!
确定是访问的本地资源,而 ...

模式一  按资源版本号更新,www资源里有的。但是播放失败。
我确认是访问 本地资源,因为第一次安装app是可以播放的,在线更新资源后,安装完毕重启就播放失败了,一直播放失败。

如果我是访问服务器资源是可以的,我不想每次访问服务器资源  那样太费流量。
回复 支持 反对

使用道具 举报

发表于 2017-3-16 15:23:31 | 显示全部楼层
260769741 发表于 2017-3-16 14:13
模式一  按资源版本号更新,www资源里有的。但是播放失败。
我确认是访问 本地资源,因为第一次安装app是 ...

资源更新完毕后(建议多等待一会儿,确保资源文件真的下载完了)!
断开网络!重启APP ,(保证没有访问网络资源页面,而是打开的本地页面)

你看一下资源运行是否正常,可以打印一下
require.toUrl(“$UI/xx/xxx/xxx.mp3”) 打印下这个路径获取的值是否正确??

你再试试吧!我这里问了一下开发者,他说资源打包进去和 资源更新都是本地资源!!访问没有区别的!

如果还确定是不行的!!那我这里只好再测试看看了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 15:36:46 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-3-16 15:23
资源更新完毕后(建议多等待一会儿,确保资源文件真的下载完了)!
断开网络!重启APP ,(保证没有访问 ...

require.toUrl(“$UI/xx/xxx/xxx.mp3”) 打印路径是正常的  只有资源版本号有变化。但是应该也是正常的。就是播放不了。
提示资源更新完毕  安装完毕 还等了一下,然后重启app   播放失败
回复 支持 反对

使用道具 举报

发表于 2017-3-16 16:35:24 | 显示全部楼层
260769741 发表于 2017-3-16 15:36
require.toUrl(“$UI/xx/xxx/xxx.mp3”) 打印路径是正常的  只有资源版本号有变化。但是应该也是正常的。 ...

确定是在断网状态下吧!!保证不要访问网络资源!,建议真机调试看下有没有报错信息!!

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 17:54:16 | 显示全部楼层
麻烦你测试下把。我就是用的案例/UI2/demo/native/audio/mainActivity.w
只修改了播放音频里的URL
var src ="file:///android_asset/www" +  require.toUrl("./music.mp3");

在这我还是强调一下出现的问题。  以上修改后
模式一-添加插件-按资源版本更新-包含UI资源。WWW下拷贝至webapps  ==第一次手机安装是可以支持播放音频的。
然后修改资源版本号,重新编译UI资源。WWW下拷贝至webapps     ===打开APP提示在线更新资源-资源安装完毕。关掉网络,重启APP,
播放失败
失败:[object Object]
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 17:54:33 | 显示全部楼层
liangyongfei 发表于 2017-3-16 16:35
确定是在断网状态下吧!!保证不要访问网络资源!,建议真机调试看下有没有报错信息!!

你好楼主,这个 ...

麻烦你测试下把。我就是用的案例/UI2/demo/native/audio/mainActivity.w
只修改了播放音频里的URL
var src ="file:///android_asset/www" +  require.toUrl("./music.mp3");

在这我还是强调一下出现的问题。  以上修改后
模式一-添加插件-按资源版本更新-包含UI资源。WWW下拷贝至webapps  ==第一次手机安装是可以支持播放音频的。
然后修改资源版本号,重新编译UI资源。WWW下拷贝至webapps     ===打开APP提示在线更新资源-资源安装完毕。关掉网络,重启APP,
播放失败
失败:[object Object]
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 21:30:15 | 显示全部楼层
经过我的测试de.appplant.cordova.plugin.local-notification 本地通知插件无法实现自定义音频。
我把mp3 直接下载到手机里,用cordova!cordova-plugin-media 是可以播放的。
但是设置 de.appplant.cordova.plugin.local-notification  的 sound  还是播放系统的提示音效!

无奈了现在的唯一解决的办法只有
de.appplant.cordova.plugin.local-notification
cordova!cordova-plugin-media
配合着用勒


但是这样就会引麻烦、比如IOS手机,媒体音量和系统音量是分开的
假如客户现在听音乐或看电影,人为的把媒体音量调小了。。。等下他不听不看了,又忘记把声音调大。
那么这时候用cordova!cordova-plugin-media播放的声音就会是刚刚设置的媒体音量大小了,听不见就意味着不能急时接收到通知消息而误事。
最后又查看插件文档。发现cordova-plugin-media#setVolume是可以调音量大小的。
经过我的测试,这个音量设置是基于手机媒体音量大小之下而设置的,假如手机人为把媒体音量调成了一般假设‘0.5’,这个API是不能打开音量到最大的。
好纠结啊?这太不人性化了。

  请求版主帮助我解决这个问题,现在老板吹得紧啊
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-16 22:22:09 | 显示全部楼层
本帖最后由 260769741 于 2017-3-16 22:25 编辑

目前已经解决在线更新资源导致获取不到MP3路径的问题了。
解决办法是。在第一次安装APP的时候 获取一次资源。然后把URL写到"localStorage"缓存里。播放音频之前先判断localStorage是否有路径参数。如果有路径参数就播放localStorage的URL,如果没有那就提示重新安装APP了、下面是安卓版本的解决办法。。。如果是安卓和IOS。  就增加一个平台判断再获取响应URL

                var src = localStorage.xdd;
                if(src===undefined){
                        src = "file:///android_asset/www" +  require.toUrl("./music.mp3");
                }
               
                this.mediaRec = new Media(src,
                                function(optio) {
                                        localStorage.xdd = src;
                                        me.comp('fileOutput').set({value: "完毕"});
                                },
                                function(err) {
                                        me.comp('fileOutput').set({value: "失败:" + err});
                                }
                );
                this.mediaRec.play();


现在已经确认在线资源更新,MP3这类文件没有更新到手机包里了。。。还不知道其他文件是不是这样呢。。。目前是先解决了这个问题小喜一下。

最大的问题就是本地通知播放自定义声音这个问题了。   我技术小宅是没办法解决这个问题了。求救啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 18:50 , Processed in 0.055121 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表