gpt4 book ai didi

iphone - 如何在多个 View 和恢复控件中使用AVPlayer?

转载 作者:行者123 更新时间:2023-12-03 00:10:00 24 4
gpt4 key购买 nike

我在iOS 6.1上使用xcode 4.6使用TabBar和2个不同的tableView创建了一个应用程序。

每个表 View 都从file.plist中读取一行,然后在一行中点击时加载一个DetailView。
DetailViewController与2 TableView相同,但是:

如果在第一个按钮上启动应用程序,我会在表和音频列表中看到FirstView,如果我在列表中选择一个文件,则会很好地加载一个Detail View 和一个监听器,但是如果现在在TabBar上单击第二个 View ,我就可以开始播放了从第二个 View 的其他音频文件,但我听覆盖冷杉的音频和AVplayer不能覆盖。

有我的编码:

从TableView加载plist:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if([@"detailList" isEqualToString:segue.identifier]) {

NSIndexPath *index = [self.tableView indexPathForCell:sender];
[[segue destinationViewController] setSaved:[loadData objectAtIndex:index.row]];
}
}

在详细 View 中:
    if (mysound.rate == 1.0) {

UIImage *img = [UIImage imageNamed:@"Play_BT.png"];
[control setImage:img forState:UIControlStateNormal];
[mysound pause];

} else {

UIImage *img = [UIImage imageNamed:@"Pause_BT.png"];
[control setImage:img forState:UIControlStateNormal];

NSURL *url = [NSURL URLWithString:[saved objectForKey:@"audio"]];
mysound = [[AVPlayer alloc] initWithURL:url];
[mysound setAllowsExternalPlayback:YES];
[mysound setUsesExternalPlaybackWhileExternalScreenIsActive: YES];
[mysound play];
}
}

在这里出现问题,此代码非常有效,但是如果在选项卡栏上轻击并从其他plist加载其他音频,我会收听音频叠加。

从标签栏更改时,如何在覆盖 NSURL *url = [NSURL URLWithString:[saved objectForKey:@"audio"]];中使用AVPlayer?

谢谢。

最佳答案

解决,使用此代码:

在我的AppDelegate .h中添加

@interface AppDelegate : UIResponder <UIApplicationDelegate> {

AVPlayer *MyPlayer;
}

@property (strong, nonatomic) AVPlayer *MyPlayer;

在我的AppDelegate .m里面 didFinishLaunchingWithOptions添加
[MySound superclass];

现在可以直接在.m文件中使用以下代码在所有应用中调用方法:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSURL *url = [NSURL URLWithString:[saved objectForKey:@"link"]];
appDelegate.MySound = [[AVPlayer alloc] initWithURL:url];
[appDelegate.MySound setAllowsExternalPlayback:YES];
[appDelegate.MySound setUsesExternalPlaybackWhileExternalScreenIsActive: YES];
[appDelegate.MySound play];

现在,使用此方法可以控制AVPlayer在应用程序中的位置!

我希望这可以帮助任何人;)

关于iphone - 如何在多个 View 和恢复控件中使用AVPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com