Media.library in stream umwandeln
Guten Abend
Bräuchte einige Hilfsansätze von euch. Und zwar geht es darum, wie ich es hinkriege, mit der Direktive "Media.library" ein ganzes Album, z.B Camera Roll, in einen Stream umzuwandeln, welchen ich dann weiterverwenden kann. Bei einem einzelnen Bild, welches ich mit dem "PhotoChooserTask" auswähle, klappt das auch wunderbar.
Wäre um jeden Rat dankbar.
Mfg
Mit der kostenlosen
PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
AW: Media.library in stream umwandeln
Du kannst die Bilder direkt in eine Liste auslesen, die du wiederum an eine Listbox binden kannst.
Ich würde aber die Thumbnail Funktion nehmen und diese sogar auf mehrmals auslesen, da hier schnell das Speicherlimit erreicht ist und die App dann abschmiert.
class ClassMediaImage
{
public BitmapImage imgImage { get; set; }
public ClassMediaImage(int imgID, BitmapImage imgImage)
{
this.imgImage = imgImage;
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (null != handler)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
ObservableCollection<ClassMediaImage> datalist = new ObservableCollection<ClassMediaImage>();
void LoadThumbnails()
{
MediaLibrary mediaLibrary = new MediaLibrary();
var pictures = mediaLibrary.Pictures;
for (int i = 0; i < pictures.count();i++)
{
BitmapImage image = new BitmapImage();
image.SetSource(pictures[i].GetThumbnail());
datalist.Add(new ClassMediaImage(image));
}
}
AW: Media.library in stream umwandeln
Erstmal vielen Dank lordofillusion! Hatte einen ähnlichen Denkansatz, deine Variante ist mit dem mehrmaligen auslesen da aber noch besser. Leider stehe ich weiterhin vor dem selben Problem, wie vorher. Und zwar gelingt es mir nicht, den erzeugten Stream anständig weiterzuverwenden. Wahrscheinlich hab ich in dem Fall an der falschen Stelle nach dem Problem gesucht. Mithilfe des httpClients möchte ich nämlich nun diesen Stream weiterverwenden können, dies funktioniert aber nur halbwegs, da jeweils nur ein Bild aus dem Stream gelesen wird und diesem nichtmal der korrekte Name zugeordnet werden kann. Ich bin noch sehr neu, bei der Programmierung von Apps bzw. C#, bin mich auch fleissig am einarbeiten, leider gibt es, verständlicherweise, so noch einige Stolpersteine.
Mfg
Mit der kostenlosen
PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
AW: Media.library in stream umwandeln
AW: Media.library in stream umwandeln
Ich möchte schlussendlich gerne die jeweils vorhandenen Alben, mithilfe eines ResourceIntensiveTask, per HttpClient abgleichen bzw. hochladen können. Wie im Anfangspost schon erwähnt, funktioniert die Sache mit einem einzelnen Bild problemlos, nur hier stehe ich wohl echt auf dem Schlauch:(
Mfg
Mit der kostenlosen
PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
AW: Media.library in stream umwandeln
Kann mir niemand mehr weiterhelfen?:(
Mfg
Mit der kostenlosen
PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
AW: Media.library in stream umwandeln
Na ja, so genrellerweise müsste ja am anderen Ende der Empfänger das ja aus dem einen Stream wieder auseinanderbasteln. Also eigentlich gibts nur die Möglichkeit da halt irgendeinen Fifo Stream für den HTTPClient zu nutzen und dann halt die einzelnen Image-Streams nacheinander reinzuschreiben oder aber du machst halt für jedes Bild aus der Library einen eigenen HttpRequest. Letzteres wäre eigentlich mein Ansatz, denn damit kannst du auch wohl am einfachsten Szenarios wie einen Wiederaufsatz implementieren wenn das irgendwo unterbrochen wird anstatt wieder alles hochzuladen. Du fängst dann halt einfach mit dem ersten Bild an, dass noch nicht am Server ist (was am Server ist müsstest du von dort halt zuerst mal irgendwie abfragen).
AW: Media.library in stream umwandeln
Vielen Dank StevieBallz. Den Ansatz finde ich selber nicht schlecht, zumal ich nach jedem erfolgreichen Upload eines Bildes, dieses in der App als "erledigt" markieren könnte. Mein Problem ist allerdings, wie ich denn, ohne eine direkte Auswahl der einzelnen Bilder, auf alle Bilder in der Media.Library zugreifen kann, so dass ich wiedrum jedes Bild in einen Strem umwandeln kann.
Mfg
Mit der kostenlosen
PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
AW: Media.library in stream umwandeln
Den nötigen Code für den Zugriff auf die MediaLibrary siehst du z.B. hier: http://dotnet.dzone.com/news/accessing-pictures-media