相关疑难解决方法(0)

iPhone:OpenAL和AudioToolbox泄漏

我使用OpenAL在我的应用程序中播放声音.当我使用Instruments工具测试它时,它会发现泄漏:
LeakedObject = GeneralBlock-512
Size = 512 Bytes
Responsible Library = AudioToolbox
Responsible Frame = AU3DMixerEmbeddedInputElement :: Initialize()

堆栈跟踪:

   0 libSystem.B.dylib malloc
   1 libstdc++.6.dylib operator new(unsigned long)
   2 libstdc++.6.dylib operator new[](unsigned long)
   3 AudioToolbox AU3DMixerEmbeddedInputElement::Initialize()
   4 AudioToolbox AU3DMixerEmbedded::SetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)
   5 AudioToolbox AUBase::DispatchSetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)
   6 AudioToolbox AUMethodSetProperty(void*, unsigned long, unsigned long, unsigned long, void const*, unsigned long)
   7 OpenAL OALContext::InitializeMixer(unsigned long)
   8 OpenAL …
Run Code Online (Sandbox Code Playgroud)

iphone memory-leaks instruments

7
推荐指数
1
解决办法
3274
查看次数

Audio6脚本在iOS6中泄漏?

当我使用AudioToolBox播放音乐时,内存泄漏严重.

AVAudioPlayer *newMusicPlayer = [[AVAudioPlayer alloc] initWithData:data error:&error];
Run Code Online (Sandbox Code Playgroud)

我用这段代码来播放音乐.在iOS5和iOS4中,它可以正常工作.但是在iOS6中,如果数据大小为5M,则所有5M泄露.我无法在仪器中看到泄漏信息.

有没有人有同样的问题?任何建议都将不胜感激.

这里的所有音频代码(使用ARC):

@implementation ViewController
{
    AVAudioPlayer *_player;
}

- (void)play
{
    if (_player)
    {
        [_player stop];
        _player = nil;
    }

    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"test.app/1.mp3"];
    NSData *musicData = [[NSData alloc] initWithContentsOfFile:path];
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:musicData error:nil];
    player.volume = 1;
    if (player)
    {
        _player = player;
    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(100, 100, 100, 100);
    [button setTitle:@"play" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(play) …
Run Code Online (Sandbox Code Playgroud)

iphone avaudioplayer ios6

4
推荐指数
1
解决办法
3130
查看次数

标签 统计

iphone ×2

avaudioplayer ×1

instruments ×1

ios6 ×1

memory-leaks ×1