Inviare un filmato codificato ad un player silverlight
elsinore1977 non è online. Ultima attività: 17/11/2008 9.43.50elsinore1977
Inserito il: 09 ottobre 2008 15.35
25 messaggi dal 15 mag 2007 Istalla Microsoft Silverlight!
Ciao a tutti,

io sto lavorando ad un grosso progetto per la creazione di una business TV, uso SDK Expression Encoder + VS2008 in un eseguile che mi fa l'encoding di alcuni file, questo il codice per l'encoding

job.Template = templateToUse;
job.OutputDirectory = @"D:\output";
job.CreateSubfolder = false;
job.MediaItems.Add(new MediaItem(@"C:\dev\EncoderTest\EncoderTest\powered_by_300.wmv"));
job.Encode();

Process.Start(Path.Combine(job.ActualOutputDirectory, "default.html"));

alla fine dell'encoding nella directory "output" mi trovo questi file creati da Expression Encoder...

-player.xaml

-default.html

-alcuni file .js


il mio problema è che io dovrei riuscire ad inviare il flusso di dati "encodati"...non al player di default, ma ad un player in un'altra pagina...come si fa?

Guardando in giro ho letto di modificare il parametro InitParams....ma, no ho cpaito in che file (immagino in qualche xaml del player) e soprattuto non ho capito fisicamente cosa devo passare a questo parametro!

spero che qualcuno mi sappia dare una mano!

Modificato da elsinore1977 il 09 ottobre 2008 15.36 -
RE: Inviare un filmato codificato ad un player silverlight
elsinore1977 non è online. Ultima attività: 17/11/2008 9.43.50elsinore1977
Inserito il: 09 ottobre 2008 16.20
25 messaggi dal 15 mag 2007 Istalla Microsoft Silverlight!
Cercando in giro ho trovato questo codice..


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace HelloWorld2
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();

try
{
// Retrieve initialization values (passed from the hosting Web page).
IDictionary<string, string> startupArguments = ((App)Application.Current).InitParams;
// Use the key to get the startup argument.
string strText = startupArguments["dateVal"];
// Find the named element on the XAML page.
TextBlock tb = this.FindName("param") as TextBlock;
// Set the text value to that of the init param.
tb.SetValue(TextBlock.TextProperty, strText);
}
catch (KeyNotFoundException) { }
}
}
}



si rifersice al file Page.xaml.cs della mia applicazione silverlight che dovrebbe mandare il filmato.....

penso che la riga di mio interesse sia questa...

IDictionary<string, string> startupArguments = ((App)Application.Current).InitParams;
ma sinceramente non ho proprio capito come e sotto che forma mandare il mio filmato di cui ho fatto l'encoding!
Microsoft Most Valuable Professional
Re: Inviare un filmato codificato ad un player silverlight
novecento non è online. Ultima attività: 04/12/2008 14.00.39novecento
Inserito il: 09 ottobre 2008 17.24
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 1015 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
Ciao, dovresti inserire il tuo player personalizzato all'interno della cartella template (C:\Program Files\Microsoft Expression\Encoder  2\Templates\en) e richiamarlo ad esempio così:
public void EncodeAndLaunchOutput()
        {
            using (Job job = new Jo))
            {
                // Find the Clean template
                Template templateToUse = null;
                foreach (Template template in TemplateCollection.Templates)                 {
                    if (template.Name == "----IL NOME DELLA CARTELLA TUO  PLAYER----")
                    {
                        templateToUse = template;
                    }
                }
                if (templateToUse == null)
                    throw new InvalidOperationException("Couldn't find  template");

                // Set the template and output directory
                job.Template = templateToUse;
                job.OutputDirectory = @"C:\output";

                // Add a couple of videos and encode.
                job.MediaItems.Add(new
MediaItem(@"c:\users\public\Videos\Sample Videos\Bear.wmv"));                 job.MediaItems.Add(new
MediaItem(@"c:\users\public\Videos\Sample Videos\Butterfly.wmv"));                 job.Encode();

                // Launch the encoded output in the default browser                 Process.Start(Path.Combine(job.ActualOutputDirectory,  "default.html"));
            }
        }


Il player deve avere alcune caratteristiche, nell'Encoder SDK 2.0, alla cartella C:\Program Files\Microsoft Expression\Encoder
2\SDK\Samples\TemplatePlugin, puoi trovare un esempio.

Spero di aver capito la tua domanda.

Alessio Leoncini
SilverlightItalia.com
Re: Inviare un filmato codificato ad un player silverlight
elsinore1977 non è online. Ultima attività: 17/11/2008 9.43.50elsinore1977
Inserito il: 10 ottobre 2008 10.16
25 messaggi dal 15 mag 2007 Istalla Microsoft Silverlight!
Vediamo se ho capito la risposta.....mi stai dicendo di usare lo stesso player..... che ho nella cartella C:\Program Files\Microsoft Expression\Encoder 2\Templates\en...... anche sulla pagina web?.....cioè lo includo nella pagina web..... poi quando lancio l'exe che mi fa l'encoding, il player sulla pagina web viene "alimentato" di conseguenza?
Microsoft Most Valuable Professional
Re: Inviare un filmato codificato ad un player silverlight
novecento non è online. Ultima attività: 04/12/2008 14.00.39novecento
Inserito il: 10 ottobre 2008 10.39
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 1015 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
elsinore1977 ha scritto:
Vediamo se ho capito la risposta.....mi stai dicendo di usare lo stesso player..... che ho nella cartella C:\Program Files\Microsoft Expression\Encoder 2\Templates\en...... anche sulla pagina web?.....cioè lo includo nella pagina web..... poi quando lancio l'exe che mi fa l'encoding, il player sulla pagina web viene "alimentato" di conseguenza?


Sì, se tutto va a buon fine ti viene prodotto un progetto completo per la visualizzazione del tuo video encodato con il template del video player che hai personalizzato.

Comunque sarò onesto, rileggendo il thread non so se ho capito la tua domanda ..

Alessio Leoncini
SilverlightItalia.com
Re: Inviare un filmato codificato ad un player silverlight
elsinore1977 non è online. Ultima attività: 17/11/2008 9.43.50elsinore1977
Inserito il: 10 ottobre 2008 12.39
25 messaggi dal 15 mag 2007 Istalla Microsoft Silverlight!
Prima di mettermi a smanettare provo a spiegarmi meglio

Io ho il mio eseguibile sviluppato con l'SDK di expression encoder.... quindi vi codice faccio l'encoding...e sempre via codice uso un template "xyz" dell'encoder per visualizzare il filmato. Questo flusso video sparato fuori dall'SDK lo manderò su una TV in fullscreen.....(per fargli fare il fullscreen ho dovuto simulare il doppio click del mouse!...silverlight non gestisce il fullscreen da remoto...ma si può??)


Ok ora quello che mi servirebbe avere è quel template "xyz"....in un altro browser..... pronto a ricevere il flusso video di cui faccio l'encoding con l'SDK......e questo sarà visibile non su una TV in fulscreen ma su una pagina Web.


Se ho capito bene...e se tu hai capito bene, la tua soluzione potrebbe funzionare... che dici?

Re: Inviare un filmato codificato ad un player silverlight
elsinore1977 non è online. Ultima attività: 17/11/2008 9.43.50elsinore1977
Inserito il: 10 ottobre 2008 17.16
25 messaggi dal 15 mag 2007 Istalla Microsoft Silverlight!
Ciao,

dunque ho iniziato a smanettare un pò.....nella cartella del template che uso con l'SDK...quindi con tutti i suoi file js e xml....ho aggiunto la mia pagina HTML... test.html.....che per iniziare era uguale alla default.html.

Ovviamente la pagina test.html deve contenere un player più piccolo, non a tutta pagina, quindi ho cercato come ridimensionare il player e ho visto che si può ridimensionare in questo js

StartPlayer.js

quindi, siccome a tutto schermo mi serve per la TV....ho creato un altro js uguale

StartPlayer_Custom.js

solo con le dimensioni del player diverse

poi ho importato il file StartPlayer_Custom.js nella mia pagina test.html

<script type='text/javascript' src="StartPlayer_Custom.js"></script>


tutto filava liscio fino a quando non ho encodato con l'SDK un altro file...mi sono accorto che la pagina test.html mandava sempre in onda il filmato vecchio...

pensavo che il filmato encodato fosse presente solo nel file MediaDefinition.xml

<?xml version="1.0" encoding="UTF-8"?>
<mediaDefinition>
<mediaItems>
<mediaItem mediaSource="The_Magic_of_Flight_720.wmv">
</mediaItem>
</mediaItems>
</mediaDefinition>

invece ho scoperto che è cablato anche in StartPlayer.js.....quindi il mio StartPlayer_Custom.js si tiene sempre quello vecchio...e precisamente ha dentro questo codice

this._playlist=[];
try {
eval( 'this._playlist=['+
'{"mediaSource":"powered_by_300.wmv",'+
'"placeholderSource":"",'+
'"chapters":'+
'['+
']}'+
'];' );


quindi..... riassumendo.....c'è un modo semplice per forzare la dimensione del player silverlight nella pagina HTML?....perchè se uso i js....ogni volta che faccio partire l'SDK me li sovrascrive e non va bene..

questo è l'html di default......

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type='text/javascript' src="MicrosoftAjax.js"></script>
<script type='text/javascript' src="Silverlight.js"></script>
<script type='text/javascript' src="SilverlightControl.js"></script>
<script type='text/javascript' src="SilverlightMedia.js"></script>
<script type='text/javascript' src="ExpressionPlayer.js"></script>
<script type='text/javascript' src="PlayerStrings.js"></script>
<script type='text/javascript' src="player.js"></script>
<script type='text/javascript' src="StartPlayer.js"></script>
<title></title>
<style type="text/css">
html, body { margin: 0; padding: 0; height:100% }
#divPlayer_0 { min-height: 100%; height:100%; }
</style>
</head>

<body style="background-color:black;margin:0,0,0,0;overflow:auto;">
<div id="divPlayer_0">
<script type='text/javascript'>
var player = new StartPlayer_0();
</script>
</div>
</body>
</html>

posso dirgli da qualche parte che voglio un player 400 X 400?
Microsoft Most Valuable Professional
Re: Inviare un filmato codificato ad un player silverlight
novecento non è online. Ultima attività: 04/12/2008 14.00.39novecento
Inserito il: 10 ottobre 2008 18.03
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 1015 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
"elsinore1977" <elsinore1977> wrote in message news:334176@...
Ciao,
...
html, body { margin: 0; padding: 0; height:100% }
#divPlayer_0 { min-height: 100%; height:100%; }
...

posso dirgli da qualche parte che voglio un player 400 X 400?

Hai provato a specificarlo nel css?
#divPlayer_0 { height:400px; }

Alessio Leoncini
SilverlightItalia.com

2 pagine: [1] 2 Avanti >>

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums