Your IP : 216.73.216.213
��Yf0 � @ s d d l m Z e j d � d d l m Z e j d � Z d d l Z d d l Z d d l Z d d l
Z
d d l Z d d l Z y d d l m
Z
Wn6 e k
r� e j d k r� e j Z
n e j Z
Yn Xd d � Z Gd
d � d e j � Z d d
� Z e d k re � d S)� )�supportZaudio)�findfile�ossaudiodevN)�AFMT_S16_NE�littlec C s� t | d � �P } t j | � } | j � } | j � } | j } | j d � | j � } Wd QRX| t j k r} t d � � t j
| d � } | | d | f S)N�rbr z)Expect .au file with 8-bit mu-law samples� � )�open�sunauZgetframerateZgetnchannelsZ _encoding�seek�readZAUDIO_FILE_ENCODING_MULAW_8�RuntimeError�audioopZulaw2lin)�path�fpZau�rate� nchannels�encoding�data� r �:/opt/alt/python35/lib64/python3.5/test/test_ossaudiodev.py�read_sound_file s
r c @ sp e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
d � Z d d � Z
d S)�OSSAudioDevTestsc
C s y t j d � } Wnb t k
rw } zB | j d t j t j t j t j f k rb t j
| � � � WYd d } ~ Xn X| j � | j � | j
� | j � | j � | j | j � | j | j d � | j | j d d | j � xN d D]F } y t | | d � Wn t t f k
r%Yq� X| j d | � q� Wt t | � � | d
| | } | j t | | � | j t | d � d k | � t j � } | j | � | j! � t j � }
|
| } t | | � | d
} | j | d k d | | f � d S)N�wr z/dev/dspzbad dsp.mode: %r�closed�name�mode�* zdsp.%s not read-only� g�G�z@g{�G�z�?�d g $@z2elapsed time (%s) > 10%% off of expected time (%s))r r r )"r r
�OSError�args�errno�EACCES�ENOENT�ENODEV�EBUSY�unittest�SkipTest�bufsize� obufcount�obuffree�getptr�filenoZassertFalser �assertEqualr r �setattr� TypeError�AttributeError�fail�float�len�
setparametersr �
assertTrue�abs�time�write�close)
�selfr r Zssizer �dsp�msg�attrZ
expected_timeZt1Zt2Zelapsed_timeZpercent_diffr r r �play_sound_file, sB
"
z OSSAudioDevTests.play_sound_filec C s t j d d f } t d d f } xo | | g D]U } | \ } } } | j | � | k r. | j | � | k r. | j | � | k r. Pq. Wt d � � | j | | | d � } | j | | | | f d | | f � | j | | | d � } | j | | | | f d | | f � d S) N� i@ r iD� zRunable to set audio sampling parameters: you must have really weird audio hardwareFzsetparameters%r: returned %rT) r ZAFMT_U8r Zsetfmt�channelsZspeedr r6 r/ ) r<