【问题标题】:AVAUDIOPLAYER ViewControllers UitableviewAVAUDIOPLAYER ViewControllers Uitableview
【发布时间】:2016-02-26 14:04:29
【问题描述】:

我正在创建一个具有 2 个视图控制器(标签栏)的应用程序,并且我使用 AVAUDIOPlayer 播放来自 url 的歌曲(库存在 uitableview 中)。第一个视图控制器列出了我所有的 url,第二个视图控制器是用户最喜欢的。

我已经搜索过了,但我找不到正确的答案。我想控制视图控制器之间的 AVAUDIOPLAYER。

示例:歌曲在第一个上播放,用户选择另一个到第二个视图控制器。第一个停止歌曲并在第二个视图控制器中播放。

我该怎么做?单身avaudioplayer? appdelegate 方法?

谢谢

【问题讨论】:

  • 您需要查看我的代码吗?

标签: ios objective-c uitableview avaudioplayer


【解决方案1】:

我要做的是一个全局类的共享实例,其中包含 AVAudioPlayer。像这样。

GlobalVars.h

#import <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>

@interface GlobalVars : NSObject
{
    AVAudioPlayer *songplayer;
}

+ (GlobalVars *)sharedInstance;
@property (nonatomic, strong) AVAudioPlayer *songplayer;

@end

GlobalsVars.m

#import "GlobalVars.h"

@implementation GlobalVars

@synthesize  songplayer = songplayer;

+ (GlobalVars *)sharedInstance {
    static dispatch_once_t onceToken;
    static GlobalVars *instance = nil;
    dispatch_once(&onceToken, ^{
        instance = [[GlobalVars alloc] init];
    });
    return instance;
 }

- (id)init {
    self = [super init];
    if (self) {
        songplayer = [[AVAudioPlayer alloc] init];

    }
    return self;
}

@end

然后,在您的 viewControllers(或在 pch 文件中)导入 GlobalsVars.h 并创建一个实例

GlobalVars *globals;

并共享实例

globals = [GlobalVars sharedInstance];

并使用

管理您的 AVAudioPlayer
globals.songplayer

希望对你有帮助!

【讨论】:

  • 感谢您的回答。你现在是什么意思:“并使用 globals.songplayer 管理你的 AVAudioPlayer
  • 谢谢 Quetool,你解决了我的问题。非常感谢您,感谢您的支持
  • 对不起我的英语! :)
  • 与管理我的意思是代表和AVAudioPlayer的功能:[globals.songplayer play]; [globals.songplayer 暂停];设置 globals.songplayer.playerItem:currentTime、duration 等
猜你喜欢
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多