在文档加载音频时的UITableView"细胞QUOT;是pressed [英] Load audio in DOCUMENTS when UITableView "cell" is pressed

查看:159
本文介绍了在文档加载音频时的UITableView"细胞QUOT;是pressed的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个UITableView在Documents目录显示LLIST F文件的...我希望它发挥的Documents目录的音频文件时pressed ...

它运行没有errores但不播放音频时pressed ...

   - (空)的tableView:(UITableView的*)的tableView didSelectRowAtIndexPath方法:(NSIndexPath *)indexPath {NSArray的*路径= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
的NSString * documentsDirectory = [路径objectAtIndex:0];
的NSString *文件名= [documentsDirectory stringByAppendingPathComponent:[的NSString stringWithFormat:@%d.caf,indexPath.row + 1];
NSURL * audioURL = [NSURL URLWithString:文件名]。NSData的* audioData = [NSData的dataWithContentsOfURL:audioURL];NSError *错误;_audioPlayer = [[AVAudioPlayer页头] initWithContentsOfURL:audioURL错误:&放大器;错误]    _audioPlayer.delegate =自我;
        [_audioPlayer玩]
}


解决方案

更改此行:

  NSURL * audioURL = [NSURL URLWithString:文件名]。

这样:

  NSURL * audioURL = [NSURL fileURLWithPath:文件名isDirectory:NO];

然后就去做:

 如果(_audioPlayer ==无)
    {
        _audioPlayer = [[AVAudioPlayer页头] initWithContentsOfURL:audioURL错误:无];
    }
    其他
    {
        _audioPlayer = [self.audioAlert initWithContentsOfURL:audioURL错误:无];
    }

I have a UITableView displaying a llist f files in the Documents Directory... and I want it to play the audio file in the Documents directory when pressed...

It runs with no errores but doesn't play the audio when pressed...

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.caf",indexPath.row+1]];
NSURL *audioURL = [NSURL URLWithString:fileName];

NSData *audioData = [NSData dataWithContentsOfURL:audioURL];

NSError *error;

_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];

    _audioPlayer.delegate = self;
        [_audioPlayer play];
}

解决方案

Change this line:

NSURL *audioURL = [NSURL URLWithString:fileName];

to this:

NSURL *audioURL = [NSURL fileURLWithPath:fileName isDirectory:NO];

And then just do:

 if(_audioPlayer == nil)
    {
        _audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:nil];
    }
    else
    {
        _audioPlayer = [self.audioAlert initWithContentsOfURL:audioURL error:nil];
    }

这篇关于在文档加载音频时的UITableView"细胞QUOT;是pressed的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆