0

メインビューコントローラーから押したボタンでサウンドが再生されますが、正常に動作します。次のView Controllerでは、ボタンを押したときにサウンドを再生したいのですが、サウンドが得られません。2 つの .h ファイルと .m ファイルを同じに設定しました。私の問題は何ですか?助けてくれてありがとう。

私の.mファイル:

#import "AboutView.h"
#import <AVFoundation/AVFoundation.h>
#import <CoreAudio/CoreAudioTypes.h>

@interface AboutView ()

@end

@implementation AboutView
@synthesize support;
@synthesize facebook;
@synthesize kmbdev;
@synthesize back;
@synthesize player2;


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNi{
if (self) {
    // Custom initialization

}
return self;
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"sound1" ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];

self.player2 = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: NULL];
player2.volume = .5;

[player2 prepareToPlay];
}

私の .h ファイル:

#import "ViewController.h"
#import <MessageUI/MessageUI.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreAudio/CoreAudioTypes.h>

@class ViewController;

@interface AboutView : UIViewController <MFMailComposeViewControllerDelegate,        AVAudioPlayerDelegate>{
AVAudioPlayer *player2;
}

@property (strong, nonatomic) IBOutlet UIButton *back;
- (IBAction)back:(id)sender;
@property (strong, nonatomic) IBOutlet UIButton *support;
@property (strong, nonatomic) IBOutlet UIButton *facebook;
@property (strong, nonatomic) IBOutlet UIButton *kmbdev;
- (IBAction)email:(id)sender;
@property (strong, nonatomic) AVAudioPlayer *player2;

@end

[player2 プレイ] があります。メインのView Controllerで行っているように、セグエとIBactionの準備をしています。

4

1 に答える 1

1

このコードを 2 番目のコントローラーの ViewDidLoad メソッドに追加します。

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"sound1" ofType: @"wav"];
if([[NSFileManager defaultManager] fileExistsAtPath:soundFilePath)
{
  NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath];
  if(fileURL)
  {
   self.player2 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
   self.player2.delegate = self;
   self.player2.volume = 0.5f;
   [self.player2. play];
  }
}
else {
  NSLog(@"File DoesNot Exists");
}
于 2012-09-01T04:35:26.007 に答える