PDA

View Full Version : پخش فیلم با silver light



hamidgooldwin
پنج شنبه 24 اردیبهشت 1388, 12:27 عصر
با عزض سلام

نیاز به کمک شما دوستان جهت پخش فیلم با silverlight دارم

محمدامین شریفی
پنج شنبه 07 خرداد 1388, 11:53 صبح
با Expression media اینکار را راحت میتونی انجام بدی
اگر هم میخوای کنترل شخصی روی فیلم داشته باشی.می تونی از element ای به نام media استفاده کنی.
توی اینجا (http://www.microsoft.com/silverlight/streaming.aspx) هم سیلورلایت را Host رایگان کن.

پیروز باشی.

asefy2008
جمعه 16 مرداد 1388, 17:20 عصر
سلام دوستان تو کتابی که من می خونم این کد رو برای پخش فایل ویدیویی قرار داده :


<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas Canvas.Left="25" Canvas.Top="25">
<MediaElement Source="video.wmv"/>
</Canvas>
</Grid>
</UserControl>

ولی هر چی اجرا می کنم پخش نمی کنه.source رو چی بزارم ( شاید تو تغییر اون اشتباه می کنم.)؟

محمدامین شریفی
جمعه 16 مرداد 1388, 19:16 عصر
سلام دوستان تو کتابی که من می خونم این کد رو برای پخش فایل ویدیویی قرار داده :


<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas Canvas.Left="25" Canvas.Top="25">
<MediaElement Source="video.wmv"/>
</Canvas>
</Grid>
</UserControl>

ولی هر چی اجرا می کنم پخش نمی کنه.source رو چی بزارم ( شاید تو تغییر اون اشتباه می کنم.)؟
سلام,

<MediaElement x:Name="VideoWindow" Width="424" Height="236" Canvas.Left="117" Canvas.Top="62" Source="media/silverlight.wmv" Stretch="Fill" />
فایل در پوشه media در همان ریشه اصلی هستند.
2 تا مثال قشنگ یکیش توی msdn و دومیش هم sample برنامه blend هست.تمام وسایل یک اجرا کننده موسیقی رو توش آورده و یکی از مورد های جالبش هم،موقع seek کردن فایل media هست.توی آموزش lynda اول فیلم را download می کرد و سپس نمایش می داد.

asefy2008
جمعه 16 مرداد 1388, 19:51 عصر
ممنون به جای این خط

<MediaElement Source="video.wmv"/>

این رو قرار دادم

<MediaElement x:Name="VideoWindow" Width="424" Height="236" Canvas.Left="117" Canvas.Top="62" Source="media/silverlight.wmv" Stretch="Fill" />
ولی باز هم چیزی نشون نداد.
چطور میشه خودمون آدرس یه فایل دیگه رو بهش بدیم

محمدامین شریفی
یک شنبه 18 مرداد 1388, 12:35 عصر
ممنون به جای این خط

<MediaElement Source="video.wmv"/>

این رو قرار دادم

<MediaElement x:Name="VideoWindow" Width="424" Height="236" Canvas.Left="117" Canvas.Top="62" Source="media/silverlight.wmv" Stretch="Fill" />
ولی باز هم چیزی نشون نداد.
چطور میشه خودمون آدرس یه فایل دیگه رو بهش بدیم


Many common Silverlight XAML scenarios do not require the x:Name attribute because the Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx) dependency property satisfies this same purpose, implementing and integrating x:Name functionality as a Silverlight-specific programming model property. However, there are still some common XAML scenarios where code access to an element with no Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx)p roperty is necessary, most notably in certain animation and storyboard support classes. For instance, you should specify x:Name on timelines and transforms created in XAML if you intend to reference them from code later.
If Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx) is available as a property on an element, Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx) and x:Name can be used interchangeably, but an error results if both attributes are specified on the same element.
The Inline (http://msdn.microsoft.com/en-us/library/system.windows.documents.inline(VS.95).aspx) class also has an equivalent Name (http://msdn.microsoft.com/en-us/library/system.windows.documents.inline.name(VS.95).aspx) property, so that you can name and access inline document elements such as Run (http://msdn.microsoft.com/en-us/library/system.windows.documents.run(VS.95).aspx).
x:Name cannot be set in XAML property element syntax, or in code using SetValue (http://msdn.microsoft.com/en-us/library/ms597473(VS.95).aspx); it can only be set using XAML attribute syntax on elements. Note also that Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx) is not settable as a property in code; the creation and definition of XAML namescopes is a XAML processor operation, and the XAML namescope is not modifiable at run time in Silverlight. For more information, see Name (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(VS.95).aspx).


Setting Name from code has limited applications, but getting an element by Name is more common. One particular scenario is if your application supports a navigation model where pages reload into the application, and the run time code is not necessarily code-behind defined for that page. The utility method FindName (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname.aspx), which is available from anyFrameworkElement (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx), can find any element by Name in the logical tree for that element, searching the tree recursively as necessary. Or you can use the FindLogicalNode (http://msdn.microsoft.com/en-us/library/system.windows.logicaltreehelper.findlogicalnode.a spx) static method of LogicalTreeHelper (http://msdn.microsoft.com/en-us/library/system.windows.logicaltreehelper.aspx), which also takes a Name string as an argument
منبع :MSDN
در اینجا هم تفاوت X:name و X:Key را گفته است:


X:name idetifies a UIElment in XAML Tree
X:Key identifies objects in resources section, can be accessed by resourceDictionary

منبع :فارم رسمی silverlight (http://silverlight.net/forums/t/110788.aspx)
در بالا روش های مشخص کردن ID برای Elemnt ها بیان شد (پ.ن:که هنوز هم، برای من مبحث مبهمی است ولی در بیشتر برنامه ها x:name را بیشتر از name دیده ام و فکر کنم x:name بیشتر به فرهنگ XAMl برای نامیدن اشیا نزدیک تر است تا name) و در پایین روش دستیابی به property های اشیا بیان شده است:


<Canvas x:Name="LayoutRoot" Width="400">
<Button x:Name="clicme" Width="128" Height="20" Canvas.Left="24" Canvas.Top="20"
Content="Click me" Click="clicButton" />
<TextBlock x:Name="disp" Height = "20"
Width = "128" Background="#FF4ED2D5" Text="Nothing" Canvas.Left="24" Canvas.Top="50" />
</Canvas>

private void clicButton(object sender, EventArgs e)
{
disp.Text = "Thanks";
clicme.Content = "Click again";
}

منبع (http://www.scriptol.com/xaml/adressing.php)

به این صورت (http://www.geekpedia.com/code43_Retrieve-a-list-of-disk-drives-using-Csharp.html)هم می توان فایل ها را پویش کرد.سپس با کلیک کاربر،فایل نمایش داده شود.
در هنگام retrive کرد فایل ها،می توانی فایل هایی که XAML پشتیبانی میکند را نمایش دهی.(البته این راه حل برای WPF می باشد نه silverlight).

در ضمن silverlight قابلیت کار کردن با فایل های zip رو هم دارد.

H2K
سه شنبه 20 مرداد 1388, 22:15 عصر
A Silverlight Video Player Carousel Control



http://www.codeproject.com/KB/silverlight/VideoCarouselControl.aspx