문제

인증 된 사용자가 웹 브라우저를 사용하여 MP3 오디오 파일 (연설의 연설의)을 서버에 업로드하여 네트워크에 오디오를 배포하는 데 사용할 수 있습니다. 오디오 파일은 대역폭을 효율적으로 사용할 수 있고 승인 된 샘플링 속도 (22.050 또는 44.100)를 사용하여 호환성을 극대화해야합니다 (22kbps 이하). 서버 측 스크립트를 사용하여 업로드 한 후 이러한 요구 사항을 확인하는 대신 HTML5 FileReader를 사용하여 업로드하기 전에이 정보를 확인하기를 원했습니다. 브라우저가 유효하지 않은 비트 전송률 및 / 또는 샘플링 속도를 감지하면 사용자 에게이 값을 알 수 있으며 오디오 파일이 필요할 때까지 업로드 시도가 차단 될 수 있습니다.

은 HTML5를 사용하여 가능합니까? 내 응용 프로그램의 접근 방식이 아닌 HTML5와 관련된 질문에 유의하십시오. HTML5는 MP3 오디오 파일의 샘플링 속도 및 / 또는 비트 전송률을 감지 할 수 있습니까?

FYI 참고 : 업로드를 수행하려면 FTP Java 애플릿을 사용하고 있습니다. 애플릿은 자동으로 사용자를 자동으로 자동으로 전달하여 성공적인 업로드를 수행 한 다음 URL로 설정합니다. 이렇게하면 서버가 아닌 클라이언트에 무거운 리프팅을 놓습니다. 업로드 된 각 파일의 최종 목적지가 다르기 때문에 필요합니다. 그들은 서버에서 다른 스크립팅 언어를 지원할 수있는 다른 서버 및 다른 도메인에있을 수 있습니다. 하나의 서버가 스토리지 공간을 빠르게 초과하거나 서버 측 스크립트가 FTP 전송을 수행 한 경우 서버의 성능이 단일 오류 지점으로 빠르게 분해됩니다. 따라서 여러 서버 및 여러 도메인에 업로드 된 오디오 파일을 저장하는 응용 프로그램의 경우 비트 전송률 및 샘플링 속도의 유효성 검사가 클라이언트 측에서 수행되어야합니다.

도움이 되었습니까?

해결책

FileReader API 및 JavaScript 구축 된 오디오 코덱을 사용 하여이 정보를 오디오 파일에서 추출 할 수 있습니다.

순수한 JS 코덱에 대한 기본 코드를 제공하는 하나의 라이브러리는 aurora.js입니다. 실제 코덱 코드는

에 빌드됩니다.

https://github.com/audiocogs/aurora.js/wiki./ 알려진 - 사용

자연스럽게 브라우저는 FileReader API를 지원해야합니다.

Java 애플릿이나 FTP가 필요한 이유를 사용하는 경우를 알지 못했습니다.Async Badckend (예 : Node.js, Python Twisted) 및 확장 가능한 스토리지 (Amazon S3)를 사용하여 올바르게 수행하는 경우 HTTP 업로드가 여러 개의 큰 파일에 대해 작동합니다.유사한 유사한 유스 케이스는 파일에서 오디오 메타 데이터를 추출하는 것보다 훨씬 까다로운 응용 프로그램 인 들어오는 이미지의 크기를 조정하는 것입니다.클라이언트 측의 유일한 이점은 기술적으로 인식하지 않는 사용자가 불필요한 업로드 수를 줄이는 것입니다.

다른 팁

모든 사용자 가이 스크립트 / 마크 업을 변경하거나이를 무시하거나 재확인 할 수있는 것으로 나타났습니다. 나는 그것을 고려하지 않을 것입니다.

누군가가 HTML / JavaScript에 대한 지식이 많은 것을 사용하여 유효성 검사 스크립트를 변경할 수있는 경우 HTML / JavaScript를 사용하지 마십시오. 유효성 검사가 쉽고 서버에서 유효성을 검사하여 올바르게 유효성을 검사하는 것이 더 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top