Question

J'aimerais ajouter une fonctionnalité de gravure de DVD à mon application .Net (exécutée sur Windows Server 2003). Existe-t-il de bons composants disponibles ?J'ai utilisé le SDK NeroCOM fourni avec Nero, mais ils ne prennent plus en charge le SDK dans les dernières versions de Nero.J'ai appris que Microsoft a créé une mise à niveau IMAPI2 pour Windows XP/2003 et qu'il existe un exemple de projet chez CodeProject mais ne l'ayant pas utilisé moi-même, je ne peux pas dire à quel point il est facile/fiable à utiliser.

Je ne suis pas vraiment inquiet de graver de l'audio/vidéo sur DVD car c'est uniquement à des fins de sauvegarde de fichiers.

Était-ce utile?

La solution

J'ai utilisé le code du codeproject article et ça marche plutôt bien.C'est un joli wrapper autour d'IMAPI2, donc tant que IMAPI2 prend en charge ce que vous devez faire, le wrapper .NET le fera.

Autres conseils

Lors de mon dernier emploi, j'avais pour tâche de trouver un moyen multiplateforme et de préférence gratuit pour écrire des fichiers spécifiques à notre application sur CD/DVD.J'ai rapidement découvert que l'écriture de CD n'était pas difficile sous Windows, mais je ne pouvais pas écrire de DVD facilement, et cela ne fonctionnait que sous Windows.

J'ai fini par écrire un wrapper autour enregistrement cd cdrecord est un projet open source qui se construit facilement avec cygwin.Je créerais un répertoire intermédiaire dans lequel j'ajouterais les fichiers à écrire, j'appellerais mkisofs sur ce répertoire pour créer un iso de CD, puis j'appellerais cdrecord pour graver l'image.Ce n'est peut-être pas la meilleure solution si vous avez un public strictement Windows, mais c'est la seule chose que j'ai pu trouver qui fonctionne avec Windows, Linux et OS X.

Une autre option à vérifier est la SDK StarBurn, j'ai téléchargé la version d'essai et je l'ai utilisé, cela a bien fonctionné, mais au final, ce n'était pas gratuit donc c'était trop cher pour mes besoins.

Ma méthode cdrecord prenait en charge la gravure de DVD, je viens de regarder le code, et j'ai oublié combien de temps et d'efforts j'ai consacré à ce cours.

cdrecord n'a aucun problème à graver n'importe quel type de média que vous lui lancez, mais comme il s'agit d'une application autonome, j'ai dû faire beaucoup d'analyse pour obtenir des informations utiles.Je peux déterrer les drapeaux et différents appels que j'ai utilisés si cela vous intéresse, mais malheureusement je ne peux pas partager la source car elle a été développée pour un projet commercial.

En parcourant le code, on m'a également rappelé que j'étais passé de cdrecord (cdrtools) à wodim (cdrkit).wodim est une branche de cdrecord créée il y a quelques années par l'équipe Debian car cdrecord a abandonné la licence GPL.

Comme je l'ai dit avant que cela ne soit publié dans le cadre d'une application commerciale, notre interprétation de la GPL était que vous pouvez appeler des binaires externes depuis votre programme sans problème tant que votre programme peut s'exécuter sans les binaires externes (si cdrecord n'a pas été trouvé). nous avons affiché une boîte de dialogue informant l'utilisateur que les capacités de gravure n'étaient pas disponibles) et nous avons également dû héberger les sources de cdrkit et cygwin et inclure une copie de la GPL avec notre programme distribué.Donc, fondamentalement, nous ne ferions pas de "travaux dérivés", nous compilerions le code cdrkit exactement tel qu'il était, puis utiliserions les binaires produits.

En ce qui concerne le SDK StarBurn, je l'ai fait une démonstration, mais je ne l'ai pas utilisé pour un produit expédié, donc je ne peux pas vraiment donner de recommandation ou en dire beaucoup plus que cela fonctionne.

Votre méthodologie cdrecord prend-elle en charge la gravure de DVD ?Et existe-t-il un moyen simple de redistribuer/installer cygwin avec une application ?StarBurn a l'air plutôt bien à première vue, même si j'hésite un peu à opter pour des bibliothèques non éprouvées qui doivent gérer quelque chose d'aussi compliqué (surtout avec le nombre de types de médias disponibles actuellement) et la page du portefeuille StarBurn est un peu en retard. côté moelleux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top