Win8 غا ئەپ ئېچىشنى ئۈگېنىش جەريانىدا MediaElement كونترولىنىڭ ئىقتىدارلىرىنى ئىشلىتىپ بېقىش مەقسىتىدە ئاددىيغنە بىر قويغۇچ ياساپ باقتىم. يەنى ۋېندوۋس ئەپ دۇكىنىدىكى فىلىم قويغۇچلارغا ئوخشاش، مېترو ھالەتتە قوزغىتىپ فىلىم قويۇشقا بولىدىغان. بۇنىغۇ ھەقىقى بىر ئەپ دېگىلىمۇ بولمايدۇ، ئەمما قىسقىغىنا ۋاقىت ئىچىدە، مەشىق ئۈچۈن ياساپ باقتىم. بۇ ساھەگە قىزىقىدىغانلارنىڭ ئنتايىن ئاز ئىكەنلىكىنى نەزەردە تۇتۇپ، تەپسىلاتىنى چۈشەندۈرۈپ ئولتۇرمايمەن،« قىزىقىشى بارلاردىن بىرەرسى چىقىپ قالسا قاراپ قويار!» دېگەن ئىستەكتە پەقەت ئەسلى كودىنى چاپلاپ قويىمەن(ئەلۋەتتە كود قىسمىغا ئىنتايىن تەپسىلىي ئىزاھات قىستۇرۇلدى). ئاۋۋال كۆرۈنمە يۈزىنى كۆرۈپ باقايلى:
[t]كۆرۈنمە يۈز ۋە فىلىم ئېچىش ھالىتى[/t]
[t]قويغۇچ ئىقتىدارلىرى[/t]
قويغۇچ نامى: تەشنا فىلم قويغۇچىسى
يۇقارقى رەسىمدىكىدەك، mp4, avi, mpeg... قاتارلىق بىر نەچچە خىل فورماتتىكى فىلىمنى قويالايدۇ. قويۇش كونۇپكىسىنى باسسىڭىز قويىلىدۇ، يەنە باسسىڭىز توختايدۇ. ئاستىدا سىيرىلداق ھالەتتە فىلىم ئىلگىرلەش ئەھۋالى ماس قەدەمدە كۆرۈنىدۇ، سىيرىلداقنى تارتىپ تىزلىكتە ئالدى - ئارقىغا يۆتكىلىگىلى بولىدۇ. ئاۋاز مىقدارىنىمۇ سىيرىلداق ئارقىلىق تەڭشەشكە بولىدۇ. ئاۋاز يولىنىمۇ تاللاشقا بولىدۇ. سول تەرەپ ئاستى قىسمىدا فىلىمنىڭ نۆۋەتتىكى ۋاقتى ماس قەدەمدە كۆرۈنۈپ ماڭىدۇ، تامام! بارى شۇ.
[t]ئاساسلىق كودلىرى[/t]
كۆرۈنمە يۈز كونتروللىرى ۋە XMAL كودى - MainPage.XMAL
ئارقا ئىجرا كودلىرى(C# تىلى) - MainPage.XMAL.cs
using System; using System.Collections.Generic; using System.IO; using System.Linq; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace VedioQoyghuch { public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); // Yerliktiki Video iniqlima SetLocalMedia(); // waqit sanighuch tin birge iniqlima berimiz (bular qoyulush waqtigha qarap ozgiridighan siyrildaq we waqit korsetkuch chiqirishta ishleydu DispatcherTimer waqitsanighuch = new DispatcherTimer(); // sanash ariliqi bir sikunt waqitsanighuch.Interval = new TimeSpan(0, 0, 0, 0, 1000); // Sanighuchni qozghitish waqitsanighuch.Tick += waqitsanighuch_Qozghat; waqitsanighuch.Start(); } async private void SetLocalMedia() { // OpenFileOicker qurush var hojjetIchish = new Windows.Storage.Pickers.FileOpenPicker(); // Hojjet Ichish Sukuttiki Adrisi hojjetIchish.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.VideosLibrary; // Achidighan Hojjet Tipi hojjetIchish.FileTypeFilter.Add(".mp3"); hojjetIchish.FileTypeFilter.Add(".wmv"); hojjetIchish.FileTypeFilter.Add(".avi"); hojjetIchish.FileTypeFilter.Add(".mp4"); hojjetIchish.FileTypeFilter.Add(".mov"); // Hojjet ichish funkisiyesini qozghitish & Hojjet ichish var hojjet = await hojjetIchish.PickSingleFileAsync(); var stream = await hojjet.OpenAsync(Windows.Storage.FileAccessMode.Read); // SetSource usul myMedia.SetSource(stream, hojjet.ContentType); } // waqit sanighuchni qozghitish ishi private void waqitsanighuch_Qozghat(object sender, object e) { if (myMedia.CurrentState == MediaElementState.Playing) { // waqit haliti waqitHaliti(); // Slider "Ozgirish" ning qimmet dayirisi Korsetkuch.Maximum = myMedia.NaturalDuration.TimeSpan.TotalSeconds; // Siyirlma Ozgirish Korsetkuch.Value = myMedia.Position.TotalSeconds; } } private void Ozgirish(object sender, RangeBaseValueChangedEventArgs e) { myMedia.Position = TimeSpan.FromSeconds(e.NewValue); } private void QyushHaliti(object sender, RoutedEventArgs e) { switch (myMedia.CurrentState.ToString()) { case "Opening": Halet.Text = "فىلىم ھالىتى: تەييار بولدى"; break; case "Playing": Halet.Text = "فىلىم ھالىتى: قويۇلىۋاتىدۇ"; break; case "Paused": Halet.Text = "فىلىم ھالىتى: توختىتىلدى"; break; case "Ended": Halet.Text = "فىلىم ھالىتى: تۈگىدى"; break; } } private void NowettikiHaletKonupka(object sender, RoutedEventArgs e) { if (myMedia.CurrentState.ToString() == "Playing") { myMedia.Pause(); HaletBashqurushKonupkisi.Template = Resources["ToxtashKonupkisi"] as ControlTemplate; } else { myMedia.Play(); HaletBashqurushKonupkisi.Template = Resources["QoyushKonupkisi"] as ControlTemplate; } } private void Awaz_Ozgirish(object sender, RangeBaseValueChangedEventArgs e) { myMedia.Volume = (double)AwazSlider.Value/100; } private void Tengpung_Ozgirish(object sender, RangeBaseValueChangedEventArgs e) { double tengpung = TengpungSlider.Value; myMedia.Balance = tengpung; if (tengpung < 0) { Tengpung_Text.Text = "سول ئاۋاز يولى"; } if (tengpung > 0) { Tengpung_Text.Text = "ئوڭ ئاۋاز يولى"; } if (tengpung == 0) { Tengpung_Text.Text = "سىترو ئاۋاز"; } } // Qoyghuch asti sol terepte waqit korsutush private void waqitHaliti() { Waqit.Text = string.Format("{0}:{1}:{2}", // Saet myMedia.Position.Hours < 10 ? "0" + myMedia.Position.Hours.ToString() : myMedia.Position.Hours.ToString(), // Minut myMedia.Position.Minutes < 10 ? "0" + myMedia.Position.Minutes.ToString() : myMedia.Position.Minutes.ToString(), // Sekunt myMedia.Position.Seconds < 10 ? "0" + myMedia.Position.Seconds.ToString() : myMedia.Position.Seconds.ToString() ); } } }
ئەپ ئېچىش مۇھىتى ھازىرلىغانلار لازىم كۆرسە ئىنكاس قالدۇرسا ئەسلى ھۆججەتنى يوللاپ بېرىمەن!
بولسا مۇشۇ قويغۇچنىڭ چۈشۈرۈش ئادرىسىنى يوللاپ قويساڭلار،ئۇيغۇرچە قويغۇچ ئىشلەتسە بەك ياخشى بولىدۇ مېنىڭچە :ئوماق:
سىناق نۇسخىسى بولسىمۇ ئىشلىتىپ باقىلى مۇندا بىي. چۈشۈرۈشكە تەمىنلەڭلا تەشناجان.
چۈشۈرۈشنى تەمىنلىسەممۇ بەرىبىر ئىشلىتەلمەيسىلە! بۇنى ئەپ دۇكىنىغا چىقارغاندا ئاندىن ئۈچىنچى تەرەپ چۈشۈرۈپ ئىشلىتەلەيدۇ. ئەگەر Win8 ئېچىش مۇھىتى سەپلەگلىك بولسا مەن ئەۋەتىپ بىرەي، ئىجرا قىلىپ كۆرسەڭلا بولىدۇ. :لول لول:
دۇكانغا چىقىرىڭلا ئەمىسە. :لول لول: