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

QQ登录

只需一步,快速开始

查看: 11126|回复: 33

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

[复制链接]

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
发表于 2017-3-10 23:10:00 | 显示全部楼层 |阅读模式
                {
                         id : int,           -  通知的id,
             title : String      -  通知的标题!,
             text : String       -  通知的内容,
             sound : String             -  是否有声音 null为静音,
             json : String       -  通知包含的数据是json格式的
             badge : int,             -  修改app的角标(iOS有效)
             every : String,     -  每隔多久发一次通知 有效值:minute,hour,day,week,month,quarter,year
             autoClear : true,   -  是否自动清除   
             at : date           -  指定之间发送通知
                }
在调用时。是否可以取消系统提示音,播放自己的音乐文件???

无论我怎么写都不能播放
sound : "file:///android_asset/www"+require.toUrl("./mp3/xdd.mp3"),
或者
sound : window.location.origin + require.toUrl("./mp3/xdd.mp3");

都不能播放出声音。

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-13 20:53:49 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-3-13 09:56
音乐播放请参考:
/UI2/demo/native/audio/mainActivity.w


播放音频插件是可以播放的。
我是想修改本地通知插件的提示音

插件默认播放的是手机设置的系统信息通知声啊。

看了插件文档应该是可以自定义通知声的。就是不知道怎么设置,看插件源码里没有解决办法
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-13 09:56:41 | 显示全部楼层
音乐播放请参考:
/UI2/demo/native/audio/mainActivity.w

如果是请求网络文件,就用http请求,如果是打包在APP中的mp3文件 ,获取URL,就参考:http://docs.wex5.com/wex5-app-question-list-2022/


本地通知插件,建议你自己看一下插件的源码吧!!
/Native/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/AssetUtil.java
,看下默认的声音播放的URL是什么?
private static final String DEFAULT_SOUND = "res://platform_default";

1.自己修改路径
2.不使用它的声音播放,audio 播放自己定义的URL

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

发表于 2017-3-14 09:46:34 | 显示全部楼层
260769741 发表于 2017-3-13 20:53
播放音频插件是可以播放的。
我是想修改本地通知插件的提示音

确实可以自定义路径
你参考下:/Native/plugins/de.appplant.cordova.plugin.local-notification/README.md
  1. cordova.plugins.notification.local.schedule({
  2.     id: 1,
  3.     title: "Production Jour fixe",
  4.     text: "Duration 1h",
  5.     firstAt: monday_9_am,
  6.     every: "week",
  7.     sound: "file://sounds/reminder.mp3",
  8.     icon: "http://icons.com/?cal_id=1",
  9.     data: { meetingId:"123#fg8" }
  10. });
复制代码


sound: "file://sounds/reminder.mp3",  这句话就是指定URL地址的!
获取打包在本地的URL文件,就是这样写的:http://docs.wex5.com/wex5-app-question-list-2022/

要不你先写死一个绝对路径,这个路径是mp3的绝对路径!就像案例中定义的那种写法

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-14 10:19:25 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-3-14 09:46
确实可以自定义路径
你参考下:/Native/plugins/de.appplant.cordova.plugin.local-notification/README. ...

非常感谢!非常感谢
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-14 16:23:00 | 显示全部楼层
liangyongfei 发表于 2017-3-14 09:46
确实可以自定义路径
你参考下:/Native/plugins/de.appplant.cordova.plugin.local-notification/README. ...

您好!安卓的没问题的,苹果不行  帮忙看下
                if (device.platform == "Android"){
                        mp32 = "file:///android_asset/www/" + require.toUrl("./mp3/xdd.mp3");
                }else{
                        function listDir (path){
                                window.resolveLocalFileSystemURL(path,
                                                function (fileSystem){
                                        var reader = fileSystem.createReader();
                                        reader.readEntries(
                                                        function (entries){
                                                                mp32=entries;
                                                                console.log(entries);
                                                        },
                                                        function (err){
                                                                console.log(err);
                                                        }
                                        );
                                },function(err){
                                        console.log(err);
                                }
                                );       
                        }
                        listDir(cordova.file.applicationDirectory + "www" + require.toUrl("./mp3/xdd.mp3"));
                }
回复 支持 反对

使用道具 举报

发表于 2017-3-14 16:43:58 | 显示全部楼层
260769741 发表于 2017-3-14 16:23
您好!安卓的没问题的,苹果不行  帮忙看下
                if (device.platform == "Android"){
                        mp32 = "file:///a ...

直接使用这URL 就行的吧
cordova.file.applicationDirectory + "www" + require.toUrl("./mp3/xdd.mp3")

listDir方法是传一个目录,遍历目录下所有的文件用的!!你传递的参数本来就是文件的路径啊!不需要调用listDir 的吧
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-14 19:05:55 | 显示全部楼层
liangyongfei 发表于 2017-3-14 16:43
直接使用这URL 就行的吧
cordova.file.applicationDirectory + "www" + require.toUrl("./mp3/xdd.mp3")
...

出问题了
  刚刚我说安卓可以播放自定义提示音是错误的。  安卓也不能设置提示音。刚刚可以播放是因为我没有删除播放插件所以放出来的。  我把程序播放音频的插件删除后“require("cordova!cordova-plugin-media");”就不能播放了。播放的是系统提示音

  1.                 if (device.platform == "Android"){
  2.                         mp32 = "file:///android_asset/www/" + require.toUrl("./mp3/beep.wav");
  3.                 }else{
  4.                         mp32 = cordova.file.applicationDirectory + "www" + require.toUrl("./mp3/beep.wav")
  5.                 }
复制代码

文件都是存在的,MP3格式和MAV格式都试过了

版主能不能本地测试一下
回复 支持 反对

使用道具 举报

116

主题

392

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
 楼主| 发表于 2017-3-14 19:08:07 | 显示全部楼层
也就是之前我设置的是本地通知后,调用播放音频插件来播放音频文件的。require("cordova!cordova-plugin-media");
现在我把插件和调用删除了,就没只剩下系统提示音了,不是我设置的提示音
回复 支持 反对

使用道具 举报

发表于 2017-3-15 09:34:29 | 显示全部楼层
260769741 发表于 2017-3-14 19:08
也就是之前我设置的是本地通知后,调用播放音频插件来播放音频文件的。require("cordova!cordova-plugin-me ...

自己调试试试!或者先写一个绝对路径,比如: sound: "file://sounds/reminder.mp3",
你在绝对路径下放一个mp3文件!是否能播放呢??如果使用cordova-plugin-media指定这个URL 呢??能否播放?

如果相同的URL ,这个插件能播放,而de.appplant.cordova.plugin.local-notification不能播放!就说明参数错误的! 最好自己看下源码吧!它是否写死了一个固定URL地址。指定的系统音乐

如果这个插件做不到!那你就使用cordova-plugin-media 播放音乐,也未尝不可的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 19:43 , Processed in 0.101527 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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