윈도우의 기본 미디어 플레이어 경로를 감지하여 파이썬/wxPython 프로그램에서 액세스 할 수 있습니다. 내 구체적인 필요는 모든 미디어 파일의 목록을 만들고 플레이어를 사용하여 재생하는 것입니다.윈도우의 기본 미디어 플레이어 감지
3
A
답변
2
위의 설명에 따르면, 이와 함께 다른 방향으로 가기로 결정한 것처럼 보입니다. 귀하의 질문에 호기심이 생겨서 어쨌든 주위에서 사냥을했습니다.
파일 연결은 Windows 레지스트리에 저장됩니다. 파이썬을 통해 Windows 레지스트리 정보에 액세스하는 방법은 _winreg 모듈 (버전 2.0 이상에서 사용 가능)을 사용하는 것입니다. 다음과 같이 현재 사용자에 대한 개별 파일 연결 정보라는 이름의 하위 키에 저장됩니다 : 특정 파일 형식에 대해 당신이 찾고있는
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wmv\UserChoices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mpeg\UserChoices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.avi\UserChoices
등, 등.
import _winreg as wr
# Just picked three formats - feel free to substitute or extend as needed
videoFormats = ('.wmv', '.avi', '.mpeg')
#Results written to this list
userOpenPref = []
for i in videoFormats:
subkey = ("Software\\Microsoft\\Windows\\CurrentVersion" +
"\\Explorer\\FileExts\\" + i + "\\UserChoice")
explorer = wr.OpenKey(wr.HKEY_CURRENT_USER, subkey)
try:
i = 0
while 1:
# _winreg.EnumValue() returns a tuple:
# (subkey_name, subkey_value, subkey_type)
# For this key, these tuples would look like this:
# ('ProgID', '<default-program>.AssocFile.<file-type>', 1).
# We are interested only in the value at index 1 here
userOpenPref.append(wr.EnumValue(explorer, i)[1])
i += 1
except WindowsError:
print
explorer.Close()
print userOpenPref
출력 : WMP11 = 윈도우 미디어 플레이어 11
[u'WMP11.AssocFile.WMV', u'WMP11.AssocFile.avi', u'WMP11.AssocFile.MPEG']
여기
내가이 정보에 액세스하고 목록으로 저장하기 위해 작성한 작은 예제 스크립트입니다희망이있었습니다.
출처 :
관련 문제
- 1. 안드로이드의 기본 미디어 플레이어
- 2. Android 휴대 전화의 기본 미디어 플레이어
- 3. BlackBerry에서 미디어 플레이어 호출
- 4. 모바일 JavaFX 미디어 플레이어
- 5. 서비스가있는 미디어 플레이어 컨트롤
- 6. 미디어 플레이어/레코더 (포논)
- 7. 미디어 플레이어 질문
- 8. 무료 플래시 미디어 플레이어
- 9. 미디어 플레이어 URL 옵션
- 10. 미디어 플레이어 중지
- 11. Android 미디어 플레이어 확장
- 12. 오픈 소스 미디어 플레이어
- 13. 크로스 브라우저 미디어 플레이어
- 14. 사용자 정의 미디어 플레이어
- 15. Android 미디어 플레이어 버그
- 16. 미디어 플레이어 만들기
- 17. 자동으로 미디어 플레이어 중지
- 18. 플래시 테스트 플레이어 감지
- 19. Java 휴대용 미디어 감지
- 20. Silverlight 미디어 플레이어 위치 문제
- 21. iPhone에서 맞춤 미디어 플레이어 개발
- 22. WeBrowser 컨트롤에서 미디어 플레이어 시작
- 23. Android : 미디어 플레이어 지연 시작
- 24. 미디어 플레이어 정지가 작동하지 않습니다.
- 25. 윈도우 폰 7의 미디어 플레이어
- 26. 미디어 플레이어 개체가 null을 반환합니다.
- 27. 안드로이드 미디어 플레이어 스트리밍 문제
- 28. 미디어 플레이어 MPMediaItemArtwork 메모리 누수
- 29. 미디어 플레이어 mov 재생이 실패합니다.
- 30. 미디어 플레이어 화면 회전 문제
내 조언은 시스템의 내부 세부 사항을 발견하려고 노력하지만, 무엇 이건 시스템 "열기"파일을 만들기 위해'os.system'를 사용하지 않는 것입니다 그것은 적절한 응용 프로그램이라고 생각합니다. – ulidtko
글쎄, 그건 간단했다. 감사합니다 :) – spitfire
경우에만 경로에 공백이있을 때 실패하는 문제입니다. – spitfire