0

私はYouTubeビデオを再生しています.UIButtonをクリックしてミュートすると、ビデオをミュートする必要があります. そのために私はJavaScriptコードを持っていますが、UIButtonのクリックでそれを呼び出す必要があります。それ、どうやったら出来るの?

    -(void)viewWillAppear:(BOOL)animated
{
    float width = 309.0f;
    float height = 196.0f;
    UIWebView *wv = [[UIWebView alloc] init];
    wv.frame = CGRectMake(0, 0, width, height);

    _webViewVideo.allowsInlineMediaPlayback = YES;
    _webViewVideo.mediaPlaybackRequiresUserAction = NO;

//    @"<!DOCTYPE html><html> <body><div id=\"player\"></div><script>var tag = document.createElement('script');tag.src = \"https://www.youtube.com/iframe_api\";var firstScriptTag = document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);var player;function onYouTubeIframeAPIReady() {player = new YT.Player('player', {height: '390',width: '640',videoId: 'M7lc1UVf-VE', autoplay:1, controls:0, events: {'onReady': onPlayerReady,'onStateChange': onPlayerStateChange}});}function onPlayerReady(event) {event.target.playVideo();}var done = false;function onPlayerStateChange(event) {if (event.data == YT.PlayerState.PLAYING && !done) {setTimeout(stopVideo, 6000);done = true;}}function stopVideo() {player.stopVideo();}</script></body></html>";

    NSString *htmlString =@"<!DOCTYPE html><html> <body><div id=\"player\"></div><script>var tag = document.createElement('script');tag.src = \"https://www.youtube.com/iframe_api\";var firstScriptTag = document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);var player;function onYouTubeIframeAPIReady() {player = new YT.Player('player', {height: '196',width: '309',videoId: 'GOiIxqcbzyM',playerVars: {playsinline: 1, controls: 0}, events: {'onReady': onPlayerReady,'onStateChange': onPlayerStateChange}});} function **muteVideo**(){player.mute();}function onPlayerReady(event) {event.target.playVideo();}var done = false;function onPlayerStateChange(event) {if (event.data == YT.PlayerState.PLAYING && !done) {muteVideo();done = true;}}function stopVideo() {}</script></body></html>";
    _webViewVideo.delegate = self;

    [_webViewVideo loadHTMLString:htmlString baseURL:[[NSBundle mainBundle] resourceURL]];
}
- (IBAction)btnMute_click:(id)sender {

    [_webViewVideo stringByEvaluatingJavaScriptFromString:@"muteVideo();"]; //not working
}

ここでmuteVideoを呼び出すにはどうすればよいですか?

4

1 に答える 1