美文网首页
iOS 自定义Push声音

iOS 自定义Push声音

作者: 风吹柳絮如花落 | 来源:发表于2018-04-02 17:52 被阅读277次

应用场景:多套声音,供用户动态选择

实现:

1、server端去修改

2、native端修改

具体来讲:声音文件可以放到app bundle里面,或者如果是从网上下载的话就放在你pp沙盒目录下的Library/Sounds。自定义声音必须少于30秒。如果大于30秒将会用默认的系统的提示音取代。

bundle与沙盒声音重名 播放沙盒中的

-(NSString *)libraryPath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryPath = [paths lastObject];
    //    NSLog(@"%@", libraryPath);
    return libraryPath;
}

- (void)setData {

    NSString *path = [self libraryPath];

    NSString *dataFilePath = [path stringByAppendingPathComponent:@"Sounds"];


    NSFileManager *fileManager = [NSFileManager defaultManager];

    BOOL isDir = NO;

    // fileExistsAtPath 判断一个文件或目录是否有效,isDirectory判断是否一个目录
    BOOL existed = [fileManager fileExistsAtPath:dataFilePath isDirectory:&isDir];

    if ( !(isDir == YES && existed == YES) ) {

        // 在 Document 目录下创建一个 head 目录
        [fileManager createDirectoryAtPath:dataFilePath withIntermediateDirectories:YES attributes:nil error:nil];

        NSString *mp3Path = [[NSBundle mainBundle] pathForResource:@"newOrder_1" ofType:@".mp3"];

        NSString *copyPath = [dataFilePath stringByAppendingPathComponent:@"newOrder.mp3"];;

        NSError *err;

        [fileManager copyItemAtPath:mp3Path toPath:copyPath error:&err];

    }

    NSLog(@"+++++++++++++++++++%@",dataFilePath);

}

相关文章

网友评论

      本文标题:iOS 自定义Push声音

      本文链接:https://www.haomeiwen.com/subject/iqmxhftx.html