我试图从 iOS 设备上的远程服务器流式传输 mp4 视频。我不知何故[ERROR] Error while writing to socket 15: Broken pipe (32)在写了几篇之后得到
了。
不知道哪里错了。你能给点建议吗?
iOS 使用 GCDWebServer 重新路由请求(不重定向)
谢谢!饶
@property (nonatomic, strong) GCDWebServerBodyReaderCompletionBlock cb;
[_webServer addDefaultHandlerForMethod:@"GET"
requestClass:[GCDWebServerRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
self.session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:[NSOperationQueue mainQueue]];
GCDWebServerStreamedResponse* response = [GCDWebServerStreamedResponse responseWithContentType:@"application/octet-stream" asyncStreamBlock:^(GCDWebServerBodyReaderCompletionBlock completionBlock) {
NSString * realURL = @"https://ia800309.us.archive.org/2/items/Popeye_Nearlyweds/Popeye_Nearlyweds_512kb.mp4";
self.cb = completionBlock;
NSURLSessionDataTask * dataTask = [self.session dataTaskWithURL:[[NSURL alloc] initWithString:realURL]] ;
}];
return response;
}];
(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask …Run Code Online (Sandbox Code Playgroud) 我正在使用AVFoundation的AVPlayer来传输外部mp3文件.我在后端有一个计数器,它计算文件加载的次数.这项服务的唯一客户端只有我,每当我触发播放AVPlayer时,计数器增加两个,这意味着AVPlayer发出两次请求.这有什么理由,或者我怎样才能防止这种情况发生?这是我的代码:
@IBAction func listen(sender: UIButton) {
let urlstring = "http://api.server.com/endpoint-to-mp3"
let url = NSURL(string: urlstring)
let playerItem = AVPlayerItem(URL: url!)
let player = AVPlayer(playerItem: playerItem)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = CGRectMake(0, 0, 300, 50)
self.view.layer.addSublayer(playerLayer)
player.volume = 1.0
player.play()
}
Run Code Online (Sandbox Code Playgroud)