gpt4 book ai didi

iOS:这是 Audio Session 模拟器错误吗?关键词:kAudioSessionProperty_AudioRoute kAudioSessionUnsupportedPropertyError

转载 作者:行者123 更新时间:2023-11-29 13:47:46 26 4
gpt4 key购买 nike

有人可以确认这是否确实是一个错误吗? (如果是这样,我将离开并将其提交给 Apple)。

尝试获取 kAudioSessionProperty_AudioRoute 在 4.3 之前的任何版本的模拟器(这是撰写本文时的最新版本)上返回错误代码 kAudioSessionUnsupportedPropertyError。

这个非常容易复制。

开始一个新项目(我使用的是Xcode 4.0.2 Build 4A2002a,这是标准构建),基于窗口的项目“AudioSessionBug”

包含 AudioToolbox 框架

用以下内容替换应用程序委托(delegate)的 .m 文件:

//
// AudioSessionBugAppDelegate.m
// AudioSessionBug
//
// Created by Pi on 02/07/2011.
// Copyright 2011 Pi. All rights reserved.
//

#import "AudioSessionBugAppDelegate.h"

#import <AudioToolbox/AudioToolbox.h>

#define SET_PROPERTY( prop, type, val ) \
{ \
OSStatus ret = AudioSessionSetProperty( prop, sizeof( type ), &(type){ val } ); \
if ( ret != kAudioSessionNoError ) \
{ \
NSLog( @"AudioSessionSETProperty failed for: %s!", #prop ); \
return; \
} \
}

enum {
kNo = 0,
kYes = 1
};

// - - -

@interface AudioSessionBugAppDelegate ( )

- (void) setupSession;

@end

// - - -

@implementation AudioSessionBugAppDelegate


@synthesize window=_window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window makeKeyAndVisible];


[self setupSession];


return YES;
}

- (void) setupSession
{
OSStatus result = AudioSessionInitialize( NULL, NULL, NULL, NULL );
assert( result == kAudioSessionNoError );

SET_PROPERTY( kAudioSessionProperty_AudioCategory, UInt32, kAudioSessionCategory_PlayAndRecord );

// make sure headphones are plugged in!
{
// http://stackoverflow.com/questions/2753562/what-kind-of-routes-could-i-get-back-from-kaudiosessionproperty-audioroute-proper
CFStringRef state = nil;
UInt32 propertySize = sizeof(CFStringRef);
OSStatus status = AudioSessionGetProperty( kAudioSessionProperty_AudioRoute, &propertySize, &state );

if ( status == kAudioSessionUnsupportedPropertyError )
{
NSLog( @" WTF? GETTING kAudioSessionProperty_AudioRoute GIVES kAudioSessionUnsupportedPropertyError ?!?!? " );
}

NSLog( @" OK - done! " );

exit( 1 );
}
}

- (void)dealloc
{
[_window release];
[super dealloc];
}

@end

检查它是否有效。

现在将部署目标更改为 4.3 之前的任何内容。说 4.2。

在 iPad 模拟器 4.3 上再次运行 -- OK
在 iPad 模拟器 4.2 上再次运行它——失败

最佳答案

我刚刚收到来自 Apple 的以下确认信息:

This was a bug that was fixed in 4.3 and we currently have no plans to fix bugs in earlier builds of the simulator.

关于iOS:这是 Audio Session 模拟器错误吗?关键词:kAudioSessionProperty_AudioRoute kAudioSessionUnsupportedPropertyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com