예제 #1
0
        public void RefreshTest()
        {
            var recorder = new BilibiliLiveRecorder(115);

            recorder.Refresh().Wait();

            Assert.AreEqual(recorder.RealRoomId, 1016);
            Assert.IsNotNull(recorder.Title);
            Assert.IsNotNull(recorder.IsLive);
        }
예제 #2
0
        public void GetAnchorNameTest()
        {
            var recorder = new BilibiliLiveRecorder(115);

            Assert.ThrowsExceptionAsync <ArgumentException>(async() =>
            {
                await recorder.GetAnchorName();
            }).Wait();

            recorder.Refresh().Wait();

            var name = Task.Run(recorder.GetAnchorName).Result;

            Assert.AreEqual(name, @"神奇陆夫人");
        }
예제 #3
0
        public void GetLiveUrlTest()
        {
            var recorder = new BilibiliLiveRecorder(115);

            Assert.ThrowsExceptionAsync <ArgumentException>(async() =>
            {
                await recorder.GetLiveUrl();
            }).Wait();

            recorder.Refresh().Wait();

            var urls      = Task.Run(recorder.GetLiveUrl).Result.ToArray();
            var urlNumber = urls.Length;

            Assert.IsTrue(urlNumber > 1);
        }
예제 #4
0
        public void FFmpegFlvRecordTest()
        {
            var recorder = new BilibiliLiveRecorder(3);

            Assert.ThrowsExceptionAsync <ArgumentException>(async() => { await recorder.GetLiveUrl(); }).Wait();

            recorder.Refresh().Wait();

            var urls      = Task.Run(recorder.GetLiveUrl).Result.ToArray();
            var urlNumber = urls.Length;

            Assert.IsTrue(urlNumber > 1);

            var          url  = urls[0];
            const string path = @"D:\Downloads\test_ffmpeg.flv";


            var cts = new CancellationTokenSource();

            Task.Run(async() => { await MyTask.FFmpegRecordTask(url, path, cts); }, cts.Token);
            Thread.Sleep(10000);
            cts.Cancel();
        }
예제 #5
0
        public void HttpDownLoadTest()
        {
            var recorder = new BilibiliLiveRecorder(3);

            Assert.ThrowsExceptionAsync <ArgumentException>(async() => { await recorder.GetLiveUrl(); }).Wait();

            recorder.Refresh().Wait();

            var urls      = Task.Run(recorder.GetLiveUrl).Result.ToArray();
            var urlNumber = urls.Length;

            Assert.IsTrue(urlNumber > 1);

            var          url      = urls[0];
            const string path     = @"D:\Downloads\test.flv";
            var          instance = new HttpDownLoad(url, path, true);

            Task.Run(async() =>
            {
                await instance.Start();
            });
            Thread.Sleep(10000);
            instance.Stop();
        }
예제 #6
0
 public Rooms(long roomId)
 {
     _recorder   = new BilibiliLiveRecorder(roomId);
     _anchorName = string.Empty;
 }