【问题标题】:AVMediaTypeAudio not working in ios 11AVMediaTypeAudio 在 ios 11 中不起作用
【发布时间】:2017-10-24 10:38:56
【问题描述】:

我正在处理音频合并,它在 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 : (
)

【问题讨论】:

    标签: ios objective-c avfoundation ios10 ios11


    【解决方案1】:

    如何在 ios 11 中访问音频路径?

    没有与您已经在使用的方法不同的方法。 根据AVMediaType documentation,IOS11 的 api 没有变化。

    解决方案:

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

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

    1.修复了音频和触觉反馈在某些 iPhone 7 和 iPhone 7 Plus 设备上不起作用的问题

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

    在你更新到最新版本之前,先检查一下升级后我会遇到什么新问题。

    预防胜于治疗

    在你决定你应该做什么之后检查一下11.0.3 update

    【讨论】:

    • 你有哪部 iPhone?
    • 似乎这个问题仍然存在于较低的设备上。
    • 我遇到了同样的问题。最新IOS,iPhone 7plus
    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 2018-03-02
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2018-09-23
    相关资源
    最近更新 更多