Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit cb873e8

Browse files
committed
Added Extention to YTPlayerView for Mute and unMute Video
Added Extention to YTPlayerView for Mute and unMute Video
1 parent 64a2692 commit cb873e8

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

youtube-ios-player-helper.xcodeproj/project.pbxproj

+8
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
4E02070022184870008651F6 /* YTPlayerView+Mute_unMute.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E0206FE22184870008651F6 /* YTPlayerView+Mute_unMute.h */; };
11+
4E02070122184870008651F6 /* YTPlayerView+Mute_unMute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0206FF22184870008651F6 /* YTPlayerView+Mute_unMute.m */; };
1012
B3C76A271B975ADB00F375B4 /* YTPlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C76A251B975ADB00F375B4 /* YTPlayerView.h */; settings = {ATTRIBUTES = (Public, ); }; };
1113
B3C76A281B975ADB00F375B4 /* YTPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = B3C76A261B975ADB00F375B4 /* YTPlayerView.m */; };
1214
B3C76A2F1B975C0100F375B4 /* YouTubeiOSPlayerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C76A2D1B975BD500F375B4 /* YouTubeiOSPlayerHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
1315
B3C76A331B9765D700F375B4 /* Assets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B3C76A321B9765D700F375B4 /* Assets.bundle */; };
1416
/* End PBXBuildFile section */
1517

1618
/* Begin PBXFileReference section */
19+
4E0206FE22184870008651F6 /* YTPlayerView+Mute_unMute.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "YTPlayerView+Mute_unMute.h"; sourceTree = "<group>"; };
20+
4E0206FF22184870008651F6 /* YTPlayerView+Mute_unMute.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "YTPlayerView+Mute_unMute.m"; sourceTree = "<group>"; };
1721
B3C76A1A1B975AA700F375B4 /* YouTubeiOSPlayerHelper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YouTubeiOSPlayerHelper.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1822
B3C76A1F1B975AA700F375B4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
1923
B3C76A251B975ADB00F375B4 /* YTPlayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YTPlayerView.h; path = Classes/YTPlayerView.h; sourceTree = SOURCE_ROOT; };
@@ -57,6 +61,8 @@
5761
B3C76A261B975ADB00F375B4 /* YTPlayerView.m */,
5862
B3C76A1F1B975AA700F375B4 /* Info.plist */,
5963
B3C76A2D1B975BD500F375B4 /* YouTubeiOSPlayerHelper.h */,
64+
4E0206FE22184870008651F6 /* YTPlayerView+Mute_unMute.h */,
65+
4E0206FF22184870008651F6 /* YTPlayerView+Mute_unMute.m */,
6066
);
6167
path = "youtube-ios-player-helper";
6268
sourceTree = "<group>";
@@ -68,6 +74,7 @@
6874
isa = PBXHeadersBuildPhase;
6975
buildActionMask = 2147483647;
7076
files = (
77+
4E02070022184870008651F6 /* YTPlayerView+Mute_unMute.h in Headers */,
7178
B3C76A271B975ADB00F375B4 /* YTPlayerView.h in Headers */,
7279
B3C76A2F1B975C0100F375B4 /* YouTubeiOSPlayerHelper.h in Headers */,
7380
);
@@ -142,6 +149,7 @@
142149
buildActionMask = 2147483647;
143150
files = (
144151
B3C76A281B975ADB00F375B4 /* YTPlayerView.m in Sources */,
152+
4E02070122184870008651F6 /* YTPlayerView+Mute_unMute.m in Sources */,
145153
);
146154
runOnlyForDeploymentPostprocessing = 0;
147155
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//
2+
// YTPlayerView+Mute_unMute.h
3+
// YouTubeiOSPlayerHelper
4+
//
5+
// Created by Abhay Singh Naurang on 16/02/19.
6+
// Copyright © 2019 YouTube Developer Relations. All rights reserved.
7+
//
8+
9+
#import <YouTubeiOSPlayerHelper/YouTubeiOSPlayerHelper.h>
10+
11+
NS_ASSUME_NONNULL_BEGIN
12+
/** These enums represent the state of the current video in the player. */
13+
typedef NS_ENUM(NSInteger, YTPlayerMuteState) {
14+
kYTPlayerMuteStateUnMuted = 0,
15+
kYTPlayerMuteStateMuted = 1,
16+
};
17+
18+
@interface YTPlayerView (Mute_unMute)
19+
/**
20+
* mute or resumes playback on the loaded video. Corresponds to this method from
21+
* the JavaScript API:
22+
* https://developers.google.com/youtube/iframe_api_reference#mute
23+
*/
24+
- (void)muteVideo;
25+
26+
/**
27+
* unMute playback on a playing video. Corresponds to this method from
28+
* the JavaScript API:
29+
* https://developers.google.com/youtube/iframe_api_reference#mute
30+
*/
31+
- (void)unMuteVideo;
32+
/**
33+
* muteState playback on a playing video. Corresponds to this method from
34+
* the JavaScript API:
35+
* https://developers.google.com/youtube/iframe_api_reference#mute
36+
*/
37+
- (BOOL)isMuted;
38+
@end
39+
40+
NS_ASSUME_NONNULL_END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
//
2+
// YTPlayerView+Mute_unMute.m
3+
// YouTubeiOSPlayerHelper
4+
//
5+
// Created by Abhay Singh Naurang on 16/02/19.
6+
// Copyright © 2019 YouTube Developer Relations. All rights reserved.
7+
//
8+
9+
#import "YTPlayerView+Mute_unMute.h"
10+
11+
NSString static *const kYTPlayerMuteStateUnMutedCode = @"false";
12+
NSString static *const kYTPlayerMuteStateMutedCode = @"true";
13+
14+
@implementation YTPlayerView (Mute_unMute)
15+
16+
17+
#pragma mark - Player methods
18+
19+
-(void)muteVideo{
20+
[self.webView stringByEvaluatingJavaScriptFromString:@"player.mute();"];
21+
}
22+
23+
-(void)unMuteVideo{
24+
[self.webView stringByEvaluatingJavaScriptFromString:@"player.unMute();"];
25+
}
26+
27+
- (BOOL)isMuted {
28+
NSString *returnValue = [self.webView stringByEvaluatingJavaScriptFromString:@"player.isMuted()"];
29+
return [YTPlayerView playerPlayerMuteStateForString:returnValue];
30+
}
31+
32+
/**
33+
* Convert a state value from NSString to the typed enum value.
34+
*
35+
* @param stateString A string representing player mute state. Ex: "false", "true".
36+
* @return An enum value representing the player mute state.
37+
*/
38+
+ (YTPlayerMuteState)playerPlayerMuteStateForString:(NSString *)stateString {
39+
YTPlayerMuteState state = kYTPlayerMuteStateUnMuted;
40+
if ([stateString isEqualToString:kYTPlayerMuteStateUnMutedCode]) {
41+
state = kYTPlayerMuteStateUnMuted;
42+
} else if ([stateString isEqualToString:kYTPlayerMuteStateMutedCode]) {
43+
state = kYTPlayerMuteStateMuted;
44+
}
45+
return state;
46+
}
47+
@end

0 commit comments

Comments
 (0)