2014-01-10 84 views
3

我正在使用Cordova LocalNotification-Plugin向用戶顯示一些通知。現在我想要做的是在通知上有特定的聲音。他們說,添加此如何將資源文件添加到我的手機工程

window.plugin.notification.local.add({ sound: 'android.resource://' + package_name +/raw/beep});

注:本地聲音文件必須放在放入res文件夾,而不是到資產的文件夾。

我不知道在哪個res文件夾中放置我的mp3。如果我嘗試將它放到主要的res文件夾中,我可以:drawable;繪製,華電國際;提拉 - LDPI;繪製-MDPI;繪製-xhdpi;價值觀; XML文件夾時,我建這個項目我得到這個錯誤:

invalid resource directory name: C:\Users\etc\etc\myprojectname\platforms\android\res/sounds

我該怎麼辦?

回答

2

據我所知,你應該把你的聲音文件放在res/raw文件夾中,而不是res/sounds(如你在插件調用中看到的:+/raw/beep)。

Android中沒有/ res/sounds文件夾,不適合其他類別的數據應放在/ res/raw中。 你可以看看sdk doc

+0

是。你是對的 。該文件夾需要被稱爲原始的,但我仍然無法播放歌曲。 'android.resource://'package_name +/raw/beep - > package_name和我應該替換它的怎麼樣? – TGeorge

+1

我明白了。 package_name是我的應用程序包的名稱。感謝QuickFix的迴應。 – TGeorge

1

是的,你是對的,你應該只是創建缺少的變種和分配你的包名(你使用的時候使用命令行創建phonegap/cordova項目時使用的名稱例如這樣的例如:

cordova create LocalNotification com.example.localnotification LocalNotification 

應該在插件中使用這些值:

var package_name = "com.example.localnotification"; 
window.plugin.notification.local.add({ 
     date  : Math.round(new Date().getTime()/1000 + 5), 
     title  : "Android App Tes Local Notification", 
     message  : "This is a new local notification.", 
     repeat  : "daily", 
     sound  : 'android.resource://' + package_name + '/raw/beep', 
     badge   : 0, 
     id    : 666, 
     foreground  : function(notificationId){ 
     console.log("Hello World! This alert was triggered by notification " + notificationId); 
    }, 
    background : function(notificationId){ 
     console.log("Hello World! This alert was triggered by notification " + notificationId); 
    }   
}); 

以防萬一有人有興趣在爲Android創建本地通知,這絕對是beautif ul和工作得很好!

Download local notification plugin (working on Android ONLY)

Download beep.mp3

相關問題