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";
30 public void Activate()
32 win = NUIApplication.GetDefaultWindow();
33 win.BackgroundColor = Color.Green;
34 win.KeyEvent += Win_KeyEvent;
35 win.TouchEvent += Win_TouchEvent;
37 var dummy = new View();
38 dummy.Size = new Size(200, 200);
39 dummy.BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.2f);
42 resourcePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "v.mp4";
43 tlog.Fatal(tag, $"resourcePath: {resourcePath}");
48 public void Deactivate()
50 win.KeyEvent -= Win_KeyEvent;
51 win.TouchEvent -= Win_TouchEvent;
52 videoView?.Unparent();
58 private void Win_TouchEvent(object sender, Window.TouchEventArgs e)
60 if (e.Touch.GetState(0) == PointStateType.Down)
67 tlog.Fatal(tag, $"player pause!");
75 tlog.Fatal(tag, $"player start!");
81 public async void PlayerTest()
83 player = new myPlayer();
85 player.SetSource(new Tizen.Multimedia.MediaUriSource(resourcePath));
87 player.Display = new Tizen.Multimedia.Display(win);
89 await player.PrepareAsync();
90 tlog.Fatal(tag, $"await player.PrepareAsync();");
93 tlog.Fatal(tag, $"player.Start();");
95 if (player.DisplaySettings.IsVisible == false)
97 player.DisplaySettings.IsVisible = true;
99 tlog.Fatal(tag, $"Display visible = {player.DisplaySettings.IsVisible}");
101 player.DisplaySettings.Mode = Tizen.Multimedia.PlayerDisplayMode.FullScreen;
105 public void NUIVideoViewTest()
107 videoView = new VideoView();
108 videoView.ResourceUrl = resourcePath;
109 videoView.Looping = true;
110 videoView.Size = new Size(300, 300);
111 videoView.PositionUsesPivotPoint = true;
112 videoView.ParentOrigin = ParentOrigin.Center;
113 videoView.PivotPoint = PivotPoint.Center;
116 var playerHandle = new SafeNativePlayerHandle(videoView);
117 player = new myPlayer(playerHandle.DangerousGetHandle());
124 private void Win_KeyEvent(object sender, Window.KeyEventArgs e)
126 if (e.Key.State == Key.StateType.Down)
128 tlog.Fatal(tag, $"key pressed name={e.Key.KeyPressedName}");
129 if (e.Key.KeyPressedName == "XF86Back")