2011-08-31 11 views
0

나는이 코드를 시도했습니다 QSound::play소리가

를 사용하여 Qt를에서 .WAV 파일을 재생하려고 존재하지 된 QSound (Qt는)와 .WAV 재생 거기 소리가 없습니다 실행!

+3

실행중인 플랫폼은 무엇이며, http://doc.qt.nokia.com/latest/qsound.html#isAvailable의 결과를 확인하여 사운드 지원이 있는지 확인 했습니까? – HostileFork

답변

1

나는이 벨을 울려서 소리를 처리하는 코드를 발견했다. 우리의 플랫폼은 Windows이므로 이것이 우리에게 효과적입니다. 나는이 모든 것을 플레이어 클래스에서 감쌌다. QSound가 플랫폼 형식 (QSound 코드를 검토하여 찾음)에서 절대 경로를 원한다고 내 노트에 말했습니다. 그래서

// QSound wants absolute paths, in platform format 

QFileInfo fileInfo(soundFile); 

if (fileInfo.isRelative()) 
{ 
    // we assume one of our own sound files in a relative path 
    fileInfo.setFile(sSoundPath + soundFile); 
    fileInfo.makeAbsolute(); 
} 

if (!fileInfo.exists()) 
{ 
    return false; 
} 

mSoundFile = QDir::toNativeSeparators(fileInfo.filePath()); 

이제 가서 사운드 파일을 재생하려고 할 수 있습니다 ... 다른 곳이

// (note the "sSoundPath" variable is set to where we store our sound files). 
static const QString sSoundPath("./resources/sounds/"); 

같은 것을하여 파일 경로를 받고보십시오.

+0

답변 해 주셔서 감사합니다 :) – hoohub

0

나는 비슷한 문제에 대해 수많은 시간을 보냈습니다. 기본적으로 QSound는 44100 Hz 샘플 속도의 웨이브 파일을 지원하지 않는다는 것을 알았습니다. QT5 QSound does not play all wave files

사이드 노트, QSound는 QT 리소스를 사용하는 경우를 위해 지원하지 않습니다. 해결 방법은 리소스를 파일로 복사 한 다음 하드 드라이브에서 QSound로 해당 파일을 재생하는 것입니다. 바라기를이 정보는 도움이된다.

관련 문제