相关疑难解决方法(0)

用于流媒体的 GCDWebServer

我试图从 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)

streaming ios gcdwebserver

5
推荐指数
0
解决办法
2067
查看次数

为什么Swift的AVPlayer在一次播放中加载playerItem两次?

我正在使用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)

avfoundation ios avplayer swift

3
推荐指数
1
解决办法
904
查看次数

标签 统计

ios ×2

avfoundation ×1

avplayer ×1

gcdwebserver ×1

streaming ×1

swift ×1