3 using Tizen.NUI.BaseComponents;
5 namespace Tizen.NUI.Samples
7 using tlog = Tizen.Log;
9 public class VideoViewTest : IExample
11 // Make derieved class from Tizen.Multimedia.Player because protected Player(IntPtr handle, Action<int, string> errorHandler)
12 // this constructor's access modifyer is protected, so there is no other way.
13 public class myPlayer : Tizen.Multimedia.Player
15 public myPlayer() : base()
20 public myPlayer(IntPtr p) : base(p, null)
29 const string tag = "NUITEST";
31 public void Activate()
33 win = NUIApplication.GetDefaultWindow();
34 win.BackgroundColor = new Color(1, 1, 1, 0);
35 win.KeyEvent += Win_KeyEvent;
36 win.TouchEvent += Win_TouchEvent;
39 dummy.Size = new Size(200, 200);
40 dummy.BackgroundColor = new Color(1, 1, 1, 0.5f);
43 resourcePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "v.mp4";
44 tlog.Fatal(tag, $"resourcePath: {resourcePath}");
49 public void Deactivate()
51 win.KeyEvent -= Win_KeyEvent;
52 win.TouchEvent -= Win_TouchEvent;
54 tlog.Fatal(tag, $"Deactivate()!");
60 // currently it is crashed when Dispose() is called. need to check.
61 //videoView.Dispose();
66 tlog.Fatal(tag, $"Deactivate()! videoView dispsed");
70 private void Win_TouchEvent(object sender, Window.TouchEventArgs e)
72 if (e.Touch.GetState(0) == PointStateType.Down)
79 tlog.Fatal(tag, $"player pause!");
87 tlog.Fatal(tag, $"player start!");
93 public async void PlayerTest()
95 player = new myPlayer();
97 player.SetSource(new Tizen.Multimedia.MediaUriSource(resourcePath));
99 player.Display = new Tizen.Multimedia.Display(win);
101 await player.PrepareAsync().ConfigureAwait(false);
102 tlog.Fatal(tag, $"await player.PrepareAsync();");
105 tlog.Fatal(tag, $"player.Start();");
107 if (player.DisplaySettings.IsVisible == false)
109 player.DisplaySettings.IsVisible = true;
111 tlog.Fatal(tag, $"Display visible = {player.DisplaySettings.IsVisible}");
113 player.DisplaySettings.Mode = Tizen.Multimedia.PlayerDisplayMode.FullScreen;
117 public void NUIVideoViewTest()
119 videoView = new VideoView();
120 videoView.ResourceUrl = resourcePath;
121 videoView.Looping = true;
122 videoView.Size = new Size(300, 300);
123 videoView.PositionUsesPivotPoint = true;
124 videoView.ParentOrigin = ParentOrigin.Center;
125 videoView.PivotPoint = PivotPoint.Center;
128 var playerHandle = new SafeNativePlayerHandle(videoView);
129 player = new myPlayer(playerHandle.DangerousGetHandle());
136 private void Win_KeyEvent(object sender, Window.KeyEventArgs e)
138 if (e.Key.State == Key.StateType.Down)
140 tlog.Fatal(tag, $"key pressed name={e.Key.KeyPressedName}");
141 if (e.Key.KeyPressedName == "XF86Back")