AVMediaTypeAudio无法在ios 11中运行

前端之家收集整理的这篇文章主要介绍了AVMediaTypeAudio无法在ios 11中运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在进行音频合并,它在iOS 10上工作正常,但在iOS 11上无效.

如何在iOS 11中访问音频文件路径?

NSArray *path;
path = [NSArray arrayWithObjects:
        [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject],[NSString stringWithFormat:@"%@%@",trackName,(i==0) ? 
        (_editRecoding) ? fileExtension : @".mp3" : ([trackName 
        isEqualToString:@"temp"]) ? @".mp3" : @""],nil];

AVURLAsset* audioAsset = [[AVURLAsset alloc] initWithURL:[NSURL 
                          fileURLWithPathComponents:path] options:nil];


 NSLog(@"audioAsset : %@",audioAsset);
 NSLog(@"AVMediaTypeAudio : %@",[audioAsset tracksWithMediaType:AVMediaTypeAudio]);

iOS 10中的输出

audioAsset : <AVURLAsset: 0x17422b480,URL = file:///var/mobile/Containers/Data/Application/6E092FA1-BE2C-4ECC-897F-3599005F2936/Documents/temp.mp3>

 AVMediaTypeAudio : (
    "<AVAssetTrack: 0x170011fb0,trackID = 1,mediaType = soun>"
)

iOS 11中的输出

audioAsset : <AVURLAsset: 0x1c4437ba0,URL = file:///var/mobile/Containers/Data/Application/EC64309F-7E09-4DAE-B19C-2A8F160627C3/Documents/temp.mp3>

AVMediaTypeAudio : (
)

解决方法

How can i access the audio path in ios 11?

没有比你已经使用过的方法不同的方法.
根据AVMediaType documentation,IOS11没有任何变更.

解:

我打赌你的IOS 11版本是11.0.2,所以你应该升级到11.0.3,他们修复了这个版本的音频问题,看一下发行说明.

Apple的iOS 11.0.3发行说明列出了针对两个特定问题的修复:

1.修复了某些iPhone 7和iPhone 7 Plus设备无法使用音频和触觉反馈的问题

2.解决了某些iPhone 6s显示器上的触摸输入没有响应的问题,因为它们不是真正Apple部件的服务

并且在您更新到最新的第一次之前检查升级后我将遇到的新问题.

Prevention is better than cure

在决定你应该做什么之后,请查看11.0.3 update.

猜你在找的iOS相关文章