【发布时间】:2011-02-15 21:57:25
【问题描述】:
在我的 StartWorkoutViewController.m 我触发:
#import "WorkoutViewController.h"
@implementation StartWorkoutViewController
- (IBAction) start
{
[firstViewController performSelector:@selector(callMyAction)];
WorkoutViewController *ViewCon = [[WorkoutViewController alloc]init];
[ViewCon callMyAction];
[ViewCon release];
}
然后在我的 WorkOutViewController.h 我添加了这个:
- (void)callMyAction;
在我的 WorkOutViewController.m 我添加了这个:
#import "StartWorkoutViewController.h"
-(void)viewWillAppear:(BOOL)animated{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/achtergrondgeluid.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;
[audioPlayer play];
}
-(void)callMyAction{
NSLog(@"suckers");
[audioPlayer pause];
}
现在我的 NSLog (@"suckers") 可以很好地从 StarWorkoutViewController 触发,但由于某种原因,audioPlayer 什么也没做,知道吗?还通过此文件中的 callMyAction 在 Workout ViewController 中设置标签。不要工作!任何的想法?谢谢!
【问题讨论】:
-
你的
-(void)callMyAction()应该是play还是pause音频播放器? -
暂停!就像它在那里一样!也没有编译错误!
-
好的,如果你
pause播放器,你希望播放器做什么?如果您不调用callMyAction,播放器会播放url的内容吗? -
viewwillappear 或viewdidload 函数触发audioplayer 播放,另一个viewcontroller。在我的例子中,StarWorkoutViewController 会触发 WorkoutViewController 中的 callMyAction 来暂停播放器。
-
audioPlayer与nil不同吗?如果是nil,检查error的内容。
标签: iphone objective-c class methods