gpt4 book ai didi

ios - 如何播放服务器上的在线视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:36 24 4
gpt4 key购买 nike

我的服务器上有视频。我想在 iPhone 和 iPad 上播放这些视频。

谁能建议如何处理这种情况?

我知道如何使用 MPMoviePlayerController 在我的项目中播放同一视频。

最佳答案

您可以使用 WebView 播放视频。

在 .h 文件中添加此代码:

#import <MediaPlayer/MediaPlayer.h>
@interface VideoViewController : UIViewController<UIWebViewDelegate>
@property (nonatomic, strong) UIWebView *playerView;

在 .m 文件中:

@synthesize playerView;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.playerView = [[UIWebView alloc]initWithFrame:CGRectMake(10, 05, 300, 200)];
[self.view addSubview:self.playerView];

}
return self;
}

-(void)viewDidLoad
{
playerView.delegate = self;
playerView.scrollView.scrollEnabled = NO;
playerView.layer.cornerRadius = 5.0;
playerView.clipsToBounds = YES;
}

然后在 playBtn 操作中放入此代码:

NSString *yourVideoLink = your video link;
NSString *yourlinkThumbnail = your video thumbnaillink;
[self playVideo: yourVideoLink withWebView:playerView andThumbnailLink: yourlinkThumbnail];


#pragma mark - Webview Delegates

- (void)webViewDidStartLoad:(UIWebView *)webView
{
//[SVProgressHUD showWithStatus:@"Loading..."];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//[SVProgressHUD dismiss];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
// [SVProgressHUD dismiss];
}

#pragma mark - MoviePlayer Methods
- (void)playVideo:(NSString *)urlString withWebView:(UIWebView*)videoView andThumbnailLink:(NSString*)thumbnailImageLink {
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
<script>\
function load(){document.getElementById(\"yt\").play();}\
</script>\
</head><body onload=\"load()\"style=\"margin:0\">\
<video id=\"yt\" src=\"%@\" \
width=\"%0.0f\" height=\"%0.0f\" poster=\"%@\" autoplay controls></video>\
</body></html>";
videoView.backgroundColor = [UIColor redColor];
NSString *html = [NSString stringWithFormat:embedHTML, urlString, videoView.frame.size.width, videoView.frame.size.height,thumbnailImageLink];
[videoView loadHTMLString:html baseURL:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayStarted:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayFinished:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil];
}

-(void)videoPlayStarted:(NSNotification *)notification{
//self.isInFullScreenMode = YES;
}

-(void)videoPlayFinished:(NSNotification *)notification{
// your code here
// self.isInFullScreenMode = NO;
}

关于ios - 如何播放服务器上的在线视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14681618/

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