25 messaggi dal 15 maggio 2007
Ciao a tutti,

non so se sono nel forum giusto, nel caso non fosse così se qualcuno sa reindirizarmi mi farebbe un piacere..

Io sto iniziando a sviluppare un'applicazione che dà dei comandi all'expression encoder...ho trovato un esempio su internet di una piccola applicazione....con questo codice

using System;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Expression.Encoder;


namespace MyEncoderApplication
{
class Program
{
static void Main(string[] args)
{

MediaItem mediaItem = new MediaItem(@"D:\Fates.avi");
Job job = new Job();
job.MediaItems.Add(mediaItem);
job.OutputDirectory = @"D:\output";
job.CreateSubfolder = false;
job.Encode();


}


static void OnProgress(object sender, EncodeProgressEventArgs e)
{
Console.WriteLine(e.Progress);
}

}
}


solo che continua a darmi questi 2 errori

Errore1Il tipo 'System.Collections.ObjectModel.ObservableCollection`1<T0>' è definito in un assembly di cui manca il riferimento. Aggiungere un riferimento all'assembly 'WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.C:\dev\MyEncoderApplication\MyEncoderApplication\Program.cs2013MyEncoderApplication


Errore2'Microsoft.Expression.Encoder.MediaItemCollection' non contiene una definizione di 'Add' e non è stato trovato alcun metodo di estensione 'Add'che accetta un primo argomento di tipo 'Microsoft.Expression.Encoder.MediaItemCollection'. Probabilmente manca una direttiva using o un riferimento a un assembly.C:\dev\MyEncoderApplication\MyEncoderApplication\Program.cs2028MyEncoderApplication


sembra che non trovi qualche assembly ma non capisco quale!!
Ciao,
nel tuo progetto devi referenziare:
Microsoft.Expression.Encoder
Microsoft.Expression.Encoder.Types
Microsoft.Expression.Encoder.Utilities
WindowsBase, molte delle classi che usa sono proprio in WindowsBase.

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
25 messaggi dal 15 maggio 2007
Grazie mille per la risposta!

Vi chiedo un'altra cosa, io avrei la necessità di creare uno script per pilotare l'expression encoder via codice, per pilotare intendo caricare filmati e gestire le varie sequenze, so che con l'sdk dell'expresiso encoder è possibile, qualcuno sa indirizzarmi verso qualche esempio ho sa darmi qualche consiglio?

grazie!
Onestamente avevo letto anch'io la possibilità di "comandarlo" attraverso script ma adesso ho controllato la guida e penso di aver confuso questa funzionalità con gli "script command" che sono interessanti (http://msdn.microsoft.com/en-us/library/cc294717.aspx) ma decisamente diversi dagli script che avevo in mente.

Quello che potresti fare è modificare manualmente il file xej, il file un progetto Encoder, ed inserirci i tuoi valori, puoi farlo agevolmente perchè ha struttura XML abbastanza semplice ma in questo caso non hai un vero automatismo completo perchè devi comunque caricare il progetto nel software.

Oppure potresti crearti una tua procedura (o servizio) completamente separata dall'interfaccia di Econder e sfruttarne le API più o meno come hai descritto nel post precedente, insieme all'SDK c'è un esempio completo e funzionante (WPFEncode) dal quale potresti prendere diversi spunti.

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
25 messaggi dal 15 maggio 2007
diciamo che io il software non dovrei aprirlo....quindi la strada di modificare il file xej non sarebbe il massimo per me...

ora controllo il progetto di esempio WPFEncode..... grazie!
25 messaggi dal 15 maggio 2007
ho guardato l'esempio..... però anche questo esempio mi fa l'encode del file e basta...se io dopo l'encoding volessi lanciare direttamente in un player il file....hai un'idea di come porei fare?
L'esempio prendilo come spunto per fare un'applicazione web nella quale fai l'upload del media, ne fai l'encoding e alla fine fai apparire un player dove richiami il video "encodato", il fatto è che sia upload che encoding sono due passaggi teoricamente lunghi, quindi andrebbero fatti in asincrono rispetto alla richiesta dell'utente, non è difficile ma richiede un po' di codice, forse potrebbe essere il caso di gestire il tutto all'interno di Silverlight nel quale la gestione asincrona è molto agevole, potrebbe andarti bene? Quanto consosci di Silverlight 2.0 ?

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
25 messaggi dal 15 maggio 2007
Silverlight 2.0 lo conosco poco.....però se hai qualche esempio me lo studio senza problemi.... in tanto in giro ho trovato questo codice...che forse fa al caso mio...


namespace EncoderTest
{
using System;
using System.Diagnostics;
using System.IO;
using Microsoft.Expression.Encoder;
using Microsoft.Expression.Encoder.Templates;

public class EncodeTest
{
public void EncodeAndLaunchOutput()
{
using (Job job = new Job())
{
// Find the Clean template
Template templateToUse = null;
foreach (Template template in TemplateCollection.Templates)
{
if (template.Name == "Clean")
{
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"));
}
}
}
}


.... ora nel browser mi partono i 2 filmati concatenati....sto vedendo come farli partire in full-screen però..
Modificato da elsinore1977 il 15 settembre 2008 12.36 -

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.