Search in sources :

Example 1 with ILoader

use of master.flame.danmaku.danmaku.loader.ILoader in project ABPlayer by winkstu.

the class BiliVideoViewActivity method createParser.

private BaseDanmakuParser createParser(String uri) {
    InputStream stream = null;
    if (uri == null) {
        return new BaseDanmakuParser() {

            @Override
            protected Danmakus parse() {
                return new Danmakus();
            }
        };
    }
    try {
        Response rsp = (Response) Jsoup.connect(uri).execute();
        stream = new ByteArrayInputStream(CompressionTools.decompressXML(rsp.bodyAsBytes()));
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (DataFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
    try {
        loader.load(stream);
    } catch (IllegalDataException e) {
        e.printStackTrace();
    }
    BaseDanmakuParser parser = new BiliDanmukuParser();
    IDataSource<?> dataSource = loader.getDataSource();
    parser.load(dataSource);
    return parser;
}
Also used : BaseDanmakuParser(master.flame.danmaku.danmaku.parser.BaseDanmakuParser) Response(org.jsoup.helper.HttpConnection.Response) BiliDanmukuParser(master.flame.danmaku.danmaku.parser.android.BiliDanmukuParser) DataFormatException(java.util.zip.DataFormatException) ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) Danmakus(master.flame.danmaku.danmaku.model.android.Danmakus) IOException(java.io.IOException) ILoader(master.flame.danmaku.danmaku.loader.ILoader) IllegalDataException(master.flame.danmaku.danmaku.loader.IllegalDataException)

Example 2 with ILoader

use of master.flame.danmaku.danmaku.loader.ILoader in project ABPlayer by winkstu.

the class BiliVideoViewActivity method createParser.

private BaseDanmakuParser createParser(InputStream stream) {
    if (stream == null) {
        return new BaseDanmakuParser() {

            @Override
            protected Danmakus parse() {
                return new Danmakus();
            }
        };
    }
    ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
    try {
        loader.load(stream);
    } catch (IllegalDataException e) {
        e.printStackTrace();
    }
    BaseDanmakuParser parser = new BiliDanmukuParser();
    IDataSource<?> dataSource = loader.getDataSource();
    parser.load(dataSource);
    return parser;
}
Also used : BaseDanmakuParser(master.flame.danmaku.danmaku.parser.BaseDanmakuParser) BiliDanmukuParser(master.flame.danmaku.danmaku.parser.android.BiliDanmukuParser) Danmakus(master.flame.danmaku.danmaku.model.android.Danmakus) ILoader(master.flame.danmaku.danmaku.loader.ILoader) IllegalDataException(master.flame.danmaku.danmaku.loader.IllegalDataException)

Example 3 with ILoader

use of master.flame.danmaku.danmaku.loader.ILoader in project bilibili-android-client by HotBitmapGG.

the class BiliDanmukuDownloadUtil method downloadXML.

public static Observable<BaseDanmakuParser> downloadXML(final String uri) {
    return Observable.create(new Observable.OnSubscribe<BaseDanmakuParser>() {

        @Override
        public void call(final Subscriber<? super BaseDanmakuParser> subscriber) {
            if (TextUtils.isEmpty(uri)) {
                subscriber.onNext(new BaseDanmakuParser() {

                    @Override
                    protected IDanmakus parse() {
                        return new Danmakus();
                    }
                });
            }
            ILoader loader = null;
            try {
                HttpConnection.Response rsp = (HttpConnection.Response) Jsoup.connect(uri).timeout(20000).execute();
                InputStream stream = new ByteArrayInputStream(BiliDanmukuCompressionTools.decompressXML(rsp.bodyAsBytes()));
                loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
                loader.load(stream);
            } catch (IOException | DataFormatException | IllegalDataException e) {
                e.printStackTrace();
            }
            BaseDanmakuParser parser = new BiliDanmukuParser();
            assert loader != null;
            IDataSource<?> dataSource = loader.getDataSource();
            parser.load(dataSource);
            subscriber.onNext(parser);
        }
    }).subscribeOn(Schedulers.io());
}
Also used : BaseDanmakuParser(master.flame.danmaku.danmaku.parser.BaseDanmakuParser) HttpConnection(org.jsoup.helper.HttpConnection) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) IDanmakus(master.flame.danmaku.danmaku.model.IDanmakus) Danmakus(master.flame.danmaku.danmaku.model.android.Danmakus) IOException(java.io.IOException) DataFormatException(java.util.zip.DataFormatException) Subscriber(rx.Subscriber) ByteArrayInputStream(java.io.ByteArrayInputStream) ILoader(master.flame.danmaku.danmaku.loader.ILoader) IDanmakus(master.flame.danmaku.danmaku.model.IDanmakus) IllegalDataException(master.flame.danmaku.danmaku.loader.IllegalDataException)

Example 4 with ILoader

use of master.flame.danmaku.danmaku.loader.ILoader in project GSYVideoPlayer by CarGuo.

the class DanmakuVideoPlayer method createParser.

/**
     * 创建解析器对象,解析输入流
     *
     * @param stream
     * @return
     */
private BaseDanmakuParser createParser(InputStream stream) {
    if (stream == null) {
        return new BaseDanmakuParser() {

            @Override
            protected Danmakus parse() {
                return new Danmakus();
            }
        };
    }
    ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
    try {
        loader.load(stream);
    } catch (IllegalDataException e) {
        e.printStackTrace();
    }
    BaseDanmakuParser parser = new BiliDanmukuParser();
    IDataSource<?> dataSource = loader.getDataSource();
    parser.load(dataSource);
    return parser;
}
Also used : BaseDanmakuParser(master.flame.danmaku.danmaku.parser.BaseDanmakuParser) BiliDanmukuParser(com.example.gsyvideoplayer.utils.BiliDanmukuParser) IDanmakus(master.flame.danmaku.danmaku.model.IDanmakus) Danmakus(master.flame.danmaku.danmaku.model.android.Danmakus) ILoader(master.flame.danmaku.danmaku.loader.ILoader) IllegalDataException(master.flame.danmaku.danmaku.loader.IllegalDataException)

Example 5 with ILoader

use of master.flame.danmaku.danmaku.loader.ILoader in project ABPlayer by winkstu.

the class MainActivity method createParser.

private BaseDanmakuParser createParser(InputStream stream) {
    if (stream == null) {
        return new BaseDanmakuParser() {

            @Override
            protected Danmakus parse() {
                return new Danmakus();
            }
        };
    }
    ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
    try {
        loader.load(stream);
    } catch (IllegalDataException e) {
        e.printStackTrace();
    }
    BaseDanmakuParser parser = new BiliDanmukuParser();
    IDataSource<?> dataSource = loader.getDataSource();
    parser.load(dataSource);
    return parser;
}
Also used : BaseDanmakuParser(master.flame.danmaku.danmaku.parser.BaseDanmakuParser) BiliDanmukuParser(master.flame.danmaku.danmaku.parser.android.BiliDanmukuParser) Danmakus(master.flame.danmaku.danmaku.model.android.Danmakus) ILoader(master.flame.danmaku.danmaku.loader.ILoader) IllegalDataException(master.flame.danmaku.danmaku.loader.IllegalDataException)

Aggregations

ILoader (master.flame.danmaku.danmaku.loader.ILoader)7 IllegalDataException (master.flame.danmaku.danmaku.loader.IllegalDataException)7 Danmakus (master.flame.danmaku.danmaku.model.android.Danmakus)7 BaseDanmakuParser (master.flame.danmaku.danmaku.parser.BaseDanmakuParser)7 IDanmakus (master.flame.danmaku.danmaku.model.IDanmakus)4 BiliDanmukuParser (master.flame.danmaku.danmaku.parser.android.BiliDanmukuParser)3 ByteArrayInputStream (java.io.ByteArrayInputStream)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 DataFormatException (java.util.zip.DataFormatException)2 BiliDanmukuParser (com.example.gsyvideoplayer.utils.BiliDanmukuParser)1 HttpConnection (org.jsoup.helper.HttpConnection)1 Response (org.jsoup.helper.HttpConnection.Response)1 Subscriber (rx.Subscriber)1