Pergunta

Gostaria de adicionar a funcionalidade de gravação de DVD ao meu aplicativo .Net (em execução no Windows Server 2003). Há algum componente bom disponível?Eu usei o SDK do NeroCOM que acompanhava o Nero, mas eles não suportam mais o SDK nas versões mais recentes do Nero.Aprendi que a Microsoft criou uma atualização IMAPI2 para Windows XP/2003 e há uma projeto de exemplo no CodeProject, mas como não o usei, não posso dizer o quão fácil/confiável é de usar.

Não estou realmente preocupado em gravar áudio/vídeo em DVD, pois isso é apenas para fins de backup de arquivos.

Foi útil?

Solução

Eu usei o código do codeproject artigo e funciona muito bem.É um ótimo wrapper em torno do IMAPI2, portanto, desde que o IMAPI2 suporte o que você precisa fazer, o wrapper .NET fará isso.

Outras dicas

No meu último trabalho, fui encarregado de encontrar uma plataforma cruzada e, de preferência, uma maneira gratuita de gravar arquivos específicos de nosso aplicativo em CD/DVD.Rapidamente descobri que gravar CDs não era difícil no Windows, mas não conseguia gravar DVDs facilmente e isso só funcionava no Windows.

Acabei escrevendo um invólucro por aí registro de cd cdrecord é um projeto de código aberto que pode ser facilmente construído com cygwin.Eu criaria um diretório temporário onde adicionaria os arquivos que precisavam ser gravados, chamaria mkisofs nesse diretório para fazer um cd iso e depois chamaria cdrecord para gravar a imagem.Esta pode não ser a melhor solução se você tiver um público estritamente Windows, mas foi a única coisa que consegui encontrar que funcionava com Windows, Linux e OS X.

Outra opção que vale a pena conferir é o SDK StarBurn, baixei o teste e usei, funcionou bem, mas no final não era gratuito, então era muito caro para meus propósitos.

Meu método cdrecord suportava gravação de DVD, acabei de dar uma olhada no código e, cara, esqueci quanto tempo e esforço investi naquela aula.

O cdrecord não tem problemas em gravar praticamente qualquer tipo de mídia que você usar, mas como é um aplicativo independente, tive que fazer muitas análises para obter informações úteis.Posso desenterrar as flags e diferentes chamadas que usei se você estiver interessado, mas infelizmente não posso compartilhar a fonte, pois foi desenvolvida para um projeto comercial.

Ao examinar o código, também me lembrei que mudei do cdrecord (cdrtools) para o wodim (kit de cdr).wodim é um ramo do cdrecord feito há alguns anos pela equipe debian porque o cdrecord abandonou a licença GPL.

Como eu disse antes de ser lançado como parte de uma aplicação comercial, a nossa interpretação da GPL foi que você pode chamar binários externos do seu programa sem problemas, desde que o seu programa possa ser executado sem os binários externos (se o cdrecord não for encontrado abrimos uma caixa de diálogo informando ao usuário que os recursos de gravação não estavam disponíveis) e também tivemos que hospedar o código-fonte do cdrkit e cygwin e incluir uma cópia da GPL com nosso programa distribuído.Então basicamente não faríamos "trabalhos derivados", compilaríamos o código do cdrkit exatamente como estava e então usaríamos os binários produzidos.

No que diz respeito ao StarBurn SDK, fiz uma demonstração, mas não o usei para um produto enviado, então não posso dar uma recomendação ou dizer muito mais do que funciona

A sua metodologia cdrecord suporta gravação de DVD?E existe uma maneira fácil de redistribuir/instalar o cygwin com um aplicativo?StarBurn parece muito bom à primeira vista, embora eu esteja um pouco hesitante em usar bibliotecas não comprovadas que precisam lidar com algo tão complicado (especialmente com o número de tipos de mídia que existem agora) e a página do portfólio StarBurn é um pouco no lado fofo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top