como executar som no script python (Resolvido)

Iniciado por raimundo1, 15 de Fevereiro de 2013, 14:02

tópico anterior - próximo tópico

raimundo1

Caros colegas,

gostaria de saber como faço para executar arquivos ogg,flac,wav e até mp3 no ubuntu com  programas escritos em python sem precisar instalar  pacotes adicionais.

Raimundo

irtigor

Não existe nada tão amplo construído internamente, e eu recomendo que você use um modulo externo, se realmente for necessário suportar vários formatos. De qualquer forma, exemplo: ogg é um formato de encapsulamento (container), então você tem que demultiplexar (demux) para só então realizar o decodificação do áudio (decode), e esse formato suporta alguns codecs, sendo vorbis o mais comumente usado.

raimundo1

Citação de: irtigor online 15 de Fevereiro de 2013, 15:34
Não existe nada tão amplo construído internamente, e eu recomendo que você use um modulo externo, se realmente for necessário suportar vários formatos. De qualquer forma, exemplo: ogg é um formato de encapsulamento (container), então você tem que demultiplexar (demux) para só então realizar o decodificação do áudio (decode), e esse formato suporta alguns codecs, sendo vorbis o mais comumente usado.

estou seriamente em usar o pygame.mixer....mas ... como usar....não sai som aqui....

Raimundo

irtigor

Você vai ter que fornecer detalhes, se quiser ajuda.

raimundo1

Citação de: irtigor online 19 de Fevereiro de 2013, 20:52
Você vai ter que fornecer detalhes, se quiser ajuda.

import pygame
from pygame.locals import *
pygame.init()
musica = pygame.mixer.Sound('legal.wav')
musica.set_volume(1.0)
musica.play(-1)
musica.stop()

irtigor

O som é tocado em uma thread em segundo plano, o retorno é imediato, logo, se mandar parar ele para. Fora que na prática, você vai ter que verificar as exceções (o arquivo existe? um sistema de som existe?) e tudo mais. Ou seja, sem ler e intender a documentação é impossível obter um bom resultado.

raimundo1

queria um exemplo....com formato básico como wav....ou ogg

Citação de: irtigor online 20 de Fevereiro de 2013, 09:25
O som é tocado em uma thread em segundo plano, o retorno é imediato, logo, se mandar parar ele para. Fora que na prática, você vai ter que verificar as exceções (o arquivo existe? um sistema de som existe?) e tudo mais. Ou seja, sem ler e intender a documentação é impossível obter um bom resultado.

irtigor

O pacote vem com exemplos: /usr/lib/python2.7/dist-packages/pygame/examples/sound.py

Você ainda vai ter que ler a documentação.

raimundo1

Citação de: irtigor online 22 de Fevereiro de 2013, 07:06
O pacote vem com exemplos: /usr/lib/python2.7/dist-packages/pygame/examples/sound.py

Você ainda vai ter que ler a documentação.

o exemplo serviu para meus sons ogg e wav, mas não acertei para mp3.

Tenho outra duvida...

o meu código precisará que seja instalado o pygame...tem como tocar som wav ou ogg sem precisar instalar módulos no python padrão? sabendo que o computador tem codec para tocar wav e ogg ( não precisa de mp3)...

Agradeço a atenção

Raimundo


irtigor

Releia a minha primeira mensagem, e reveja a documentação do pygame, pois apesar de limitado, existe suporte a mp3.

raimundo1

não me interessa tocar mp3. Mas, ogg e wav sem intalar modulos adicionais no python. Com a instalação padrão de um ubuntu.

gostaria de saber se o módulo ossaudiodev poderia realizar tal funcionalidade.

É para computadores que não têm acesso a internet...

Citação de: irtigor online 23 de Fevereiro de 2013, 14:42
Releia a minha primeira mensagem, e reveja a documentação do pygame, pois apesar de limitado, existe suporte a mp3.

irtigor

Você não intendeu.... tudo bem. Simplificando: não, não tem uma função "play" embutida que funcione no linux pra ogg e wav.

Obs: Não ter acesso a internet não interfere em nada, afinal, você vai ter que levar o teu aplicativo de algum jeito, de qualquer forma. É só um item a mais.