μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- async
- κ΅λΉμ§μκ°μ
- μνκ΄λ¦¬
- μ±κ°λ°
- app
- StatelessWidget
- Widget
- μΉλμμ΄λ
- refectoring
- getMedia()
- php
- μ±
- μΉλμμΈ
- StatefulWidget
- IOS
- Await
- dart
- λμμΈ
- FLUTTER
- route
- μΉνΌλΈλ¦¬μ±
- μ€λ₯
- WebView
- μ½λ©
- shared_preference
- μ€νλ₯΄νμ½λ©ν΄λ½
- Android
- μ μ΄μΏΌλ¦¬
- μΉνΌλΈλ¦¬μ
- κ΅λΉμ§μ
- Today
- Total
λλ±κ°λ° π¨
[React] getUserMedia() μ€λ₯ (μ¬μ©μ μ€λμ€, λΉλμ€ λ€λ£¨κΈ°) λ³Έλ¬Έ
[React] getUserMedia() μ€λ₯ (μ¬μ©μ μ€λμ€, λΉλμ€ λ€λ£¨κΈ°)
λλ±κ°λ°μ π§ 2023. 11. 8. 10:21getUserMedia()
μ¬μ©μμκ² λ―Έλμ΄ μ λ ₯μ μ¬μ©ν μ μλ κΆνμ μ¬μ©μμκ² μμ²νλ€. (μ€λμ€, λΉλμ€)
navigator.mediaDevices
.getUserMedia(constraints)
.then((stream) => {
/* use the stream */
})
.catch((err) => {
/* handle the error */
});
getUserMedia()μ μΌλ°μ μΈ μ€λ₯
μμ 5κ° μ€λ₯
firefox | chrome |
AbortError |
AbortError |
NotAllowedError | PermissionDeniedError |
NotFoundError | DevicesNotFoundError |
NotReadableError | TrackStartError |
OverconstrainedError | ConstraintNotSatisfiedError |
1. AbortError
- μ¬μ©μμ μ΄μ 체μ λͺ¨λ νλμ¨μ΄ μ₯μΉμ λν μ‘μΈμ€ κΆνμ λΆμ¬νμΌλ©°, μ₯μΉλ₯Ό μ¬μ©ν μ μκ² λ§λλNotReadableError μ€λ₯λ₯Ό λ°μμν€λ νλμ¨μ΄ λ¬Έμ κ° λ°μνμ§ μμ κ²½μ°
2. NotAllowedError : νμ©λμ§ μμ
- message : The request is not allowed by the user agent or the platform in the current context
- μ¬μ©μκ° μΉμΊ μ΄λ λ§μ΄ν¬μ λν κΆνμ κ±°λΆνκ±°λ μ΄μ μ κ±°λΆν κ²½μ°
- νμ΄μ§κ° HTTPSκ° μλ HTTPλ₯Ό μ¬μ©νμ¬ λ‘λν κ²½μ°
3. NotFoundError : μ₯μΉ μ°Ύμ μ μμ
- λΉλμ€λ₯Ό μμ²ν κ²½μ° μ¬μ©μμκ² μΉμΊ μ΄ μλ κ²½μ°
- μ€λμ€λ₯Ό μμ²ν κ²½μ° μ¬μ©μμκ² λ§μ΄ν¬κ° μλ κ²½μ°
- μ»΄ν¨ν°λ μ₯μΉμ μ¬μ΄λ μΉ΄λκ° μλ κ²½μ°
- μ»΄ν¨ν°λ μ₯μΉμ μ¬μ΄λ μΉ΄λκ° μμ§λ§ μ₯μΉκ° μ°κ²°λμ΄ μμ§ μμ κ²½μ°
4. NotReadableError : μ½μ μ μμ
- μ¬μ©μκ° μ₯μΉλ₯Ό μ¬μ©ν μ μλ κΆνμ λΆμ¬νμ§λ§ μ΄μ 체μ , λΈλΌμ°μ λλ μΉ νμ΄μ§ μμ€μμ νλμ¨μ΄ μ€λ₯κ° λ°μνμ¬ μ₯μΉμ λν κΆνμ μ°¨λ¨νλ κ²½μ°
- μ»΄ν¨ν°μ λ€λ₯Έ μ±μμ μ΄λ―Έ μ¬μ© μ€μΈ κ²½μ°
- μ₯μΉκ° μ΄λ―Έ λ€λ₯Έ firefox νμμ μ¬μ© μ€μΈ κ²½μ°(firefoxλ§ ν΄λΉ)
- μ¬μ©μκ° κ°μΈμ 보 λ³΄νΈ λνμμλ₯Ό λ«μ κ²½μ°(chromeλ§ ν΄λΉ)
5. OverconstrainedError : μ μ½ μ‘°κ±΄μ μΆ©μ‘±νλ μ₯μΉκ° μμ
- message : Constraints could be not satisfied.
- constraint : λ¬Έμμ΄ κ°μΌλ‘ μΆ©μ‘±ν μ μλ μ μ½ μ‘°κ±΄μ μ΄λ¦(μμ±)μ λ°ν
- μ§μ λ μ μ½ μ‘°κ±΄μ κΈ°μ€μ μΆ©μ‘±νλ ν보 μ₯μΉκ° μλ κ²½μ°- ex) 1920 * 1080μ μ νν ν΄μλλ₯Ό μμ²ν λ μ½μμμ error μμ±μ€ constraintName : widthκ° νμΈλλ€.
getUserMedia() μμΈ μ²λ¦¬
navigator.mediaDevices
.getUserMedia({
audio : true,
video : true
}).then((stream) => {
/* use the stream */
}).catch((err) => {
console.log(err.name);
console.log(err.message);
/* handle the error */
if (err.name == "NotFoundError" || err.name == "DevicesNotFoundError") {
} else if (err.name == "NotReadableError" || err.name == "TrackStartError") {
} else if (err.name == "OverconstrainedError" || err.name == "ConstraintNotSatisfiedError") {
} else if (err.name == "NotAllowedError" || err.name == "PermissionDeniedError") {
} else if (err.name == "AbortError") {
} else {
}
});