0

我正在尝试为 phonegap 应用程序中的自定义声音设置正确的 URI。我尝试了几种组合,包括以下组合,但我一直得到一个Uri cannot be resolved

  notif.sound = Uri.parse("android.resource://package_name/raw/notification/alarm.WAV");

  notif.sound = Uri.parse("android.resource://package_name/raw/notification/");

  notif.sound = Uri.parse("file://path/to/file/alarm.WAV");

使用phonegap时如何设置声音的Uri

更多信息

我正在使用本教程,最后它解释了如何从推送消息中添加通知......

  String message = extras.getString("message");
  String title = extras.getString("title");
  Notification notif = new Notification(android.R.drawable.btn_star_big_on, message,             System.currentTimeMillis() );
  notif.flags = Notification.FLAG_AUTO_CANCEL;
  notif.defaults |= Notification.DEFAULT_SOUND;
  notif.defaults |= Notification.DEFAULT_VIBRATE;

  Intent notificationIntent = new Intent(context, TestSampleApp.class);
  notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
  PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

  notif.setLatestEventInfo(context, title, message, contentIntent);
  String ns = Context.NOTIFICATION_SERVICE;
  NotificationManager mNotificationManager = (NotificationManager)
  context.getSystemService(ns);
  mNotificationManager.notify(1, notif); 

我认为删除Notification.DEFAULT_SOUND;和添加uri会使其放置自定义声音。

4

1 回答 1

0

如果那是 JavaScript 代码,那么问题在于代码以及您如何定义 Uri 变量/库。

如果您使用notificationAPI,则无法指定默认的“哔”声(iOS 除外,但那是因为 iOS 上没有哔声。)

如果您尝试播放特定的声音,我认为您应该使用媒体 API。您可以像这样指定要播放的声音:

function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function() {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function(err) {
            console.log("playAudio():Audio Error: "+err);
    });

    // Play audio
    my_media.play();
}

查看“完整示例”以了解如何正确设置 HTML 页面。

于 2013-05-01T15:27:20.100 回答