美文网首页
InputStream 流

InputStream 流

作者: 小凡凡520 | 来源:发表于2019-08-27 18:38 被阅读0次
    class ALAssetNSInputStream:InputStream {
        
        var size:Int64 = 0
        fileprivate var stream: InputStream = InputStream()
        
        convenience override init(url: URL) {
            self.init()
            if let asset = ALAsset.getAssetFromUrlSync(url: url.absoluteString), let rept = asset.defaultRepresentation() {
                let fileName = rept.filename()
                var contentData: Data?
                contentData = //rept.data//
                if contentData != nil {
                    self.stream = InputStream(data: contentData!)
                    self.size = Int64(contentData!.count)
                }
            }
        }
        
        override func read(_ buffer: UnsafeMutablePointer<UInt8>, maxLength len: Int) -> Int {
            let readBytes = stream.read(buffer, maxLength: len)
            return readBytes
        }
        
        override var hasBytesAvailable: Bool {
            get {
                return stream.hasBytesAvailable
            }
        }
        
        override func open() {
            self.stream.open()
        }
        
        override func close() {
            self.stream.close()
        }
        
        override var streamStatus: Stream.Status {
            get {
                return stream.streamStatus
            }
        }
        
        override var delegate: StreamDelegate? {
            set {
                stream.delegate = newValue
            }
            get {
                return stream.delegate
            }
        }
        
        /* MARK swift3.0 
        func _scheduleInCFRunLoop(_ runLoop: RunLoop, forMode mode: String) {
            DPrint("call _scheduleInCFRunLoop")
        }*/
        
        // MARK swift 5.0 特别处理(必须重写!!!!!)
        override func schedule(in aRunLoop: RunLoop, forMode mode: RunLoop.Mode) {
            DPrint("schedule")
        }
    }
    

    相关文章

      网友评论

          本文标题:InputStream 流

          本文链接:https://www.haomeiwen.com/subject/hlkyectx.html