コード例 #1
0
        public void OutputDeviceEnum()
        {
            var mp = new MediaPlayer(new Instance());
            var t  = mp.OutputDeviceEnum;

            Debug.WriteLine(t);
        }
コード例 #2
0
        public void CreateAndDestroy()
        {
            var mp = new MediaPlayer(new Instance());

            mp.Dispose();
            Assert.AreEqual(IntPtr.Zero, mp.NativeReference);
        }
コード例 #3
0
        public async Task Play()
        {
            var instance = new Instance();
            var media    = new Media(instance, "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4", Media.FromType.FromLocation);
            var mp       = new MediaPlayer(media);
            var called   = false;

            mp.EventManager.Playing += (sender, args) =>
            {
                called = true;
            };
            mp.Play();
            await Task.Delay(5000);

            Assert.True(called);
            Assert.True(mp.IsPlaying);
        }
コード例 #4
0
        public async Task TrackDescription()
        {
            var instance = new Instance();
            var mp       = new MediaPlayer(instance);
            var media    = new Media(instance, "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4", Media.FromType.FromLocation);
            var tcs      = new TaskCompletionSource <bool>();

            mp.Media = media;
            mp.Play();
            mp.EventManager.Playing += (sender, args) =>
            {
                Assert.Zero(mp.AudioTrack);
                var description = mp.AudioTrackDescription;
                Assert.True(mp.SetAudioTrack(description.First().Id));
                Assert.IsNotEmpty(description);
                tcs.SetResult(true);
            };
            await tcs.Task;

            Assert.True(tcs.Task.Result);
        }