使用AVAudioPlayer iOS 7播放音频
我正在努力按照苹果的文档使用使用AVAudioPlayer iOS 7播放音频,ios,core-audio,Ios,Core Audio,我正在努力按照苹果的文档使用AVAudioPlayer类播放一个小的.wav文件。我也不确定基本音频播放需要什么样的工具箱。到目前为止,我已导入: AVFoundation.framework CoreAudio.framework AudioToolbox.framework 这是我的代码.h和.m: #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> @interface ViewContro
AVAudioPlayer
类播放一个小的.wav
文件。我也不确定基本音频播放需要什么样的工具箱。到目前为止,我已导入:
AVFoundation.framework
CoreAudio.framework
AudioToolbox.framework
这是我的代码.h
和.m
:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController <AVAudioPlayerDelegate>
- (IBAction)playAudio:(id)sender;
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)playAudio:(id)sender {
NSLog(@"Button was Pressed");
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"XF_Loop_028" ofType:@"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
// create new audio player
AVAudioPlayer *myPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:nil];
[myPlayer play];
}
@end
#导入
#进口
@界面ViewController:UIViewController
-(iAction)播放音频:(id)发送方;
@结束
#导入“ViewController.h”
@界面视图控制器()
@结束
@实现视图控制器
-(无效)viewDidLoad
{
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
}
-(iAction)播放音频:(id)发送方{
NSLog(@“按钮被按下”);
NSString*文件路径=[[NSBundle mainBundle]路径用于资源:@“wav”类型的“XF_Loop_028”;
NSURL*fileURL=[[NSURL alloc]initFileURLWithPath:filePath];
//创建新的音频播放器
AVAudioPlayer*myPlayer=[[AVAudioPlayer alloc]initWithContentsOfURL:fileURL错误:nil];
[myPlayer play];
}
@结束
我似乎没有任何错误。但是,我没有收到任何音频。文件路径是否返回有效值?返回的fileURL是否具有有效值?此外,还应使用AVAudioPlayer initWithContentsOfURL的错误参数。如果你使用它,它可能会准确地告诉你问题是什么 确保检查代码中的错误和无效值。检查nil filepath和fileURL是第一步。下一步是检查错误参数
希望这有帮助。文件路径是否返回有效值?返回的fileURL是否具有有效值?此外,还应使用AVAudioPlayer initWithContentsOfURL的错误参数。如果你使用它,它可能会准确地告诉你问题是什么 确保检查代码中的错误和无效值。检查nil filepath和fileURL是第一步。下一步是检查错误参数
希望这有帮助。文件路径是否返回有效值?返回的fileURL是否具有有效值?此外,还应使用AVAudioPlayer initWithContentsOfURL的错误参数。如果你使用它,它可能会准确地告诉你问题是什么 确保检查代码中的错误和无效值。检查nil filepath和fileURL是第一步。下一步是检查错误参数
希望这有帮助。文件路径是否返回有效值?返回的fileURL是否具有有效值?此外,还应使用AVAudioPlayer initWithContentsOfURL的错误参数。如果你使用它,它可能会准确地告诉你问题是什么 确保检查代码中的错误和无效值。检查nil filepath和fileURL是第一步。下一步是检查错误参数
希望这有帮助。您遇到了ARC问题。myPlayer超出范围时正在清理。创建一个强大的属性,分配AVAudioPlayer,您可能已经准备好了
@property(nonatomic, strong) AVAudioPlayer *myPlayer;
...
// create new audio player
self.myPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:nil];
[self.myPlayer play];
你这里有个ARC问题。myPlayer超出范围时正在清理。创建一个强大的属性,分配AVAudioPlayer,您可能已经准备好了
@property(nonatomic, strong) AVAudioPlayer *myPlayer;
...
// create new audio player
self.myPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:nil];
[self.myPlayer play];
你这里有个ARC问题。myPlayer超出范围时正在清理。创建一个强大的属性,分配AVAudioPlayer,您可能已经准备好了
@property(nonatomic, strong) AVAudioPlayer *myPlayer;
...
// create new audio player
self.myPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:nil];
[self.myPlayer play];
你这里有个ARC问题。myPlayer超出范围时正在清理。创建一个强大的属性,分配AVAudioPlayer,您可能已经准备好了
@property(nonatomic, strong) AVAudioPlayer *myPlayer;
...
// create new audio player
self.myPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:nil];
[self.myPlayer play];
我所做的就是为了这个目的创建一个完整的微型类。这样我就有了一个可以保留的对象,它本身也保留了音频播放器
- (void) play: (NSString*) path {
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
NSError* err = nil;
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &err];
// error-checking omitted
self.player = newPlayer; // retain policy
[self.player prepareToPlay];
[self.player setDelegate: self];
[self.player play];
}
我所做的就是为了这个目的创建一个完整的微型类。这样我就有了一个可以保留的对象,它本身也保留了音频播放器
- (void) play: (NSString*) path {
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
NSError* err = nil;
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &err];
// error-checking omitted
self.player = newPlayer; // retain policy
[self.player prepareToPlay];
[self.player setDelegate: self];
[self.player play];
}
我所做的就是为了这个目的创建一个完整的微型类。这样我就有了一个可以保留的对象,它本身也保留了音频播放器
- (void) play: (NSString*) path {
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
NSError* err = nil;
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &err];
// error-checking omitted
self.player = newPlayer; // retain policy
[self.player prepareToPlay];
[self.player setDelegate: self];
[self.player play];
}
我所做的就是为了这个目的创建一个完整的微型类。这样我就有了一个可以保留的对象,它本身也保留了音频播放器
- (void) play: (NSString*) path {
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
NSError* err = nil;
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &err];
// error-checking omitted
self.player = newPlayer; // retain policy
[self.player prepareToPlay];
[self.player setDelegate: self];
[self.player play];
}
干杯:-)全部排序,我的iOS技能有点生疏,因为我休息后才开始学习。干杯:-)全部排序,我的iOS技能有点生疏,因为我休息后才开始学习。干杯:-)全部排序,我的iOS技能有点生疏,因为我休息后才开始学习。干杯:-)全部排序,我的iOS技能有点生疏,因为休息后我才刚开始学习。谢谢,我必须看
错误
数据类型的文档。谢谢,我必须看错误
数据类型的文档。谢谢,我必须看错误
数据类型的文档。谢谢,我必须查看错误
数据类型的文档。有趣的是,我会把它放在常规的NSObject类中吗?你说的保留是指弧吗?抱歉,我对iOS有些生疏,因为我刚刚开始学习。准备了一堆教程。有趣的是,我会把它放在一个普通的NSObject类中吗?你说的保留是指弧吗?抱歉,我对iOS有些生疏,因为我刚刚开始学习。准备了一堆教程。有趣的是,我会把它放在一个普通的NSObject类中吗?你说的保留是指弧吗?抱歉,我对iOS有些生疏,因为我刚刚开始学习。准备了一堆教程。有趣的是,我会把它放在一个普通的NSObject类中吗?你说的保留是指弧吗?抱歉,我对iOS有些生疏,因为我刚刚开始学习。准备好了一堆教程。