首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义通知声音不能在iOS上播放,用于react-native-push-notification

自定义通知声音不能在iOS上播放,用于react-native-push-notification
EN

Stack Overflow用户
提问于 2021-09-27 11:39:40
回答 1查看 310关注 0票数 0

我使用的是react-native-push-notification npm包。在创建通知通道时,我设置了自定义声音的路径,如下所示:

代码语言:javascript
复制
 PushNotification.createChannel(
    {
      channelId: 1, // (required)
      channelName: 'My Channel', // (required)
      channelDescription: 'A channel to categorise your notifications', // (optional) default: undefined.
      soundName: 'tone1', 
      playSound: true, 
      importance: 4,
      vibrate: true, 
    },
    (created) => console.log(`createChannel returned '${created}'`),
  );

对于ios,我将声音添加到XCode的项目根文件夹中,如下所示:

但这不起作用,并且仍然播放默认声音。在Android上,自定义声音工作正常。我甚至导入了声音文件并手动播放,以确保它正常工作:

代码语言:javascript
复制
import SoundPlayer from 'react-native-sound-player';

SoundPlayer.playSoundFile('tone1', 'mp3');

我甚至在soundName变量中使用了扩展.mp3,但它仍然不起作用。

库版本: 7.3.2

EN

回答 1

Stack Overflow用户

发布于 2021-09-28 06:39:09

我能让它正常工作。结果发现我没有将声音文件添加到正确的文件夹中。我们必须将其添加到ios/目录中(与Pods文件夹的级别相同)。

此外,当我们计划本地通知时,我还必须传递soundName变量。以前,我只在创建通道时传递变量。

代码语言:javascript
复制
PushNotification.localNotificationSchedule({
    title: 'Hello',
    message: 'Check Notification' + new Date(Date.now() + 1 * 1000),
    date: new Date(Date.now() + 1 * 1000), // in 1 secs
    allowWhileIdle: false, // (optional) set notification to work while on doze, default: false
    channelId: 'checkNotification',
    soundName: 'tone5.mp3', // (optional) Sound to play
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69345944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档