see also https://www.python.org/dev/peps/pep-0263/
i'd got a similar problem between windows, dos, and linux filesnames, ascii
files.

i'd try your exacte copy "07-Boabdil, Bulerías.ogg".
exact code is:

#!/usr/bin/env python
# -*- coding: utf8 -*-

import os

import pygame
from pygame.locals import *

pygame.init()
pygame.mixer.set_num_channels(3)
pygame.mixer.init()

file_path = "07-Boabdil, Bulerías.ogg"
print file_path
file_path = file_path.decode('utf8')
print file_path

pygame.mixer.music.load(open(file_path))
pygame.mixer.music.play(1)
pygame.mixer.music.set_volume(0.5)


2015-02-14 11:46 GMT+01:00 Gino Ingras <ginoing...@gmail.com>:

> you should learn about codecs strings inputs/output.
> ensure you always work with the same, utf8.
> most of python modules are based on, and python3 assume by default as in
> python2 you got
>
> from __future__ import unicode_literals
>
> see (in french, sorry) a good link:
> http://sametmax.com/lencoding-en-python-une-bonne-fois-pour-toute/
>
>
> 2015-02-14 11:21 GMT+01:00 Bo Jangeborg <b...@softwave.se>:
>
>> Greg Ewing skrev den 2015-02-14 02:00:
>>
>>  Bo Jangeborg wrote:
>>>
>>>> file_path = "07-Boabdil, Bulerías.ogg"
>>>> fi = open(file_path, 'rb').read()
>>>> pygame.mixer.music.load(fi)
>>>>
>>>> But that gets me the Error:
>>>> "File path 'OggS' contains null characters"
>>>>
>>>
>>> music.load() expects to be passed the name of a file,
>>> not the contents of the file. Just do this:
>>>
>>> file_path = "07-Boabdil, Bulerías.ogg"
>>> pygame.mixer.music.load(file_path)
>>>
>>>  The reason I tried the object passing was because just
>> passing the name didn't work. So I am looking for
>> a workaround. According to the documentation
>> one should be able to pass an object as a parameter
>> but I am not sure if I am doing it the right way.
>>
>> pygame.mixer.music.load()
>> Load a music file for playback
>> load(filename) -> None
>> load(object) -> None
>> This will load a music filename/file object and prepare it for playback.
>>
>
>

Reply via email to