Enable support for image, video and audio files
This commit is contained in:
parent
409213ceb4
commit
59c1b67b7d
8 changed files with 86 additions and 21 deletions
|
@ -34,6 +34,7 @@ export default class MAudioBody extends React.Component {
|
|||
error: null,
|
||||
};
|
||||
}
|
||||
|
||||
onPlayToggle() {
|
||||
this.setState({
|
||||
playing: !this.state.playing,
|
||||
|
@ -41,6 +42,7 @@ export default class MAudioBody extends React.Component {
|
|||
}
|
||||
|
||||
_getContentUrl() {
|
||||
if (this.props.mediaSrc) return this.props.mediaSrc;
|
||||
const media = mediaFromContent(this.props.mxEvent.getContent());
|
||||
if (media.isEncrypted) {
|
||||
return this.state.decryptedUrl;
|
||||
|
@ -49,6 +51,11 @@ export default class MAudioBody extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
getFileBody() {
|
||||
if (this.props.mediaSrc) return null;
|
||||
return <MFileBody {...this.props} decryptedBlob={this.state.decryptedBlob} showGenericPlaceholder={false} />;
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
const content = this.props.mxEvent.getContent();
|
||||
if (content.file !== undefined && this.state.decryptedUrl === null) {
|
||||
|
@ -101,11 +108,11 @@ export default class MAudioBody extends React.Component {
|
|||
}
|
||||
|
||||
const contentUrl = this._getContentUrl();
|
||||
|
||||
const fileBody = this.getFileBody();
|
||||
return (
|
||||
<span className="mx_MAudioBody">
|
||||
<audio src={contentUrl} controls />
|
||||
<MFileBody {...this.props} decryptedBlob={this.state.decryptedBlob} showGenericPlaceholder={false} />
|
||||
{ fileBody }
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue