You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

64 lines
1.8 KiB

//
// WXYZ_ADPangoinVideo.m
// WXReader
//
// Created by LL on 2020/7/29.
// Copyright © 2020 Andrew. All rights reserved.
//
#import "WXYZ_ADPangolinVideo.h"
#import <MediaPlayer/MediaPlayer.h>
#import <AVFoundation/AVFoundation.h>
@interface WXYZ_ADPangolinVideo ()
// 观看视频前的音量大小
@property (nonatomic ,assign) CGFloat initialVolume;
@property (nonatomic ,weak) MPVolumeView *volumeView;
@end
@implementation WXYZ_ADPangolinVideo
- (void)createSubviews
{
[super createSubviews];
self.backgroundColor = [UIColor clearColor];
}
- (void)hide
{
[TFPromptManager hideLoading];
[self removeFromSuperview];
// 穿山甲广告视频播放结束后会设置成AVAudioSessionCategorySoloAmbient模式导致有声或听书被停止播放
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[self restoreVolume];
});
}
// 恢复音量
- (void)restoreVolume {
UISlider *volumeSlider = nil;
for (UIView *obj in self.volumeView.subviews) {
if ([obj.class.description isEqualToString:@"MPVolumeSlider"]) {
volumeSlider = (UISlider *)obj;
break;
}
}
self.volumeView.showsVolumeSlider = YES;
[volumeSlider setValue:self.initialVolume animated:NO];
[volumeSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
[self.volumeView sizeToFit];
}
- (MPVolumeView *)volumeView {
if (!_volumeView) {
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(-100, -100, 40, 40)];
_volumeView = volumeView;
[self.window addSubview:volumeView];
}
return _volumeView;
}
@end