【问题标题】:How to play a media file when receive a new message?收到新消息时如何播放媒体文件?
【发布时间】:2012-05-26 15:13:15
【问题描述】:

我想创建一个 Android 应用程序在收到来自特定发件人的消息时播放录制的声音剪辑,所以我把这段代码放在我的 smsReceiver(Broadcastreceiver)

NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);

     Notification notification = new Notification();        
     notification.sound = Uri.parse("android.resource://com.example.newgps/raw/calmpiano");

 nm.notify(0, notification);  

但它会播放声音的一部分。我能做些什么来解决它。

【问题讨论】:

  • 这可以是设备自己的设置
  • 是的,我想是的,但是我使用MediaPlayer 和一个线程解决了它。谢谢你的评论..!!

标签: android notifications message


【解决方案1】:

您无需将 \raw 附加到资源 URI。在运行时,所有内容都被编译到一个带有 ID 的目录中,这意味着调用 R.raw.* 指的是原始资源,即使所有资源实际上都在同一个目录中。

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.calmpiano);

您还可以使用notification.default 指定一些额外的设置,但不要使用DEFAULT_SOUND。如果定义了默认声音,它将覆盖自定义声音。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多